关于字符串流,文件流,随机数

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是整数的范围。
posted @ 2026-06-03 22:58  spark_of_fire  阅读(9)  评论(0)    收藏  举报