关于字符串流,文件流,随机数
1.stringstream类
//基本操作
stringstream ss;
ss.str("abc");//定义
stringstream ss(str);//另一种定义
ss.str("123");//修改
cout<<ss.str()<<'\n';//查看
ss.str("");//清空
ss<<s;//输入流
ss>>s;//输出流
//用途1:去除空格
string s="abc de f";
ss<<s;
while(ss>>s){
cout<<s<<'\n';
}
//用途2:类型转换
//字符串转数字
string s="123";
int n;
stringstream ss;
ss<<s;
ss>>n;
cout<<n<<'\n';//123
//数字转字符串
string s;
int n=987;
stringstream ss;
ss<<n;
ss>>s;
cout<<s<<'\n';//987
2.文件流
ifstream fin;//读文件
ofstream fout;//写文件
fstream finout;//读写文件
//1.创建对象
ifstream fin("1.txt");//不需要open和close
//或者
ifstream fin;
fin.open("1.txt");
fin.close();
//2.读入方式
//按空格或者回车划分的元素读入
string s;
while(fin>>s){
cout<<s<<'\n';
}
//按行读入
string s;
while(getline(fin,s)){//从文件流中读取
stringstream ss(s);
...
}
//getline是将一行读入到字符串中,如:
//getline(cin,s);//从标准输入流中读到s中
3.随机数
//先设置随机数种子(可以理解为所有随机数有一个固定顺序,在种子这个数开始往下轮)。
srand(unsigned int seed);
srand(time(0)); //time(0)为1970年1月1日到现在的秒数
//再使用rand()产生随机数。
int random_num=(rand()%(b-a))+a; // 取得[a,b)的随机整数
(rand()%(b-a+1))+a; // 取得[a,b]的随机整数
(rand()%(b-a))+a+1; // 取得(a,b]的随机整数
//通用公式:a+rand()%n:其中a是范围的起始值,n是整数的范围。
浙公网安备 33010602011771号