
总结下在编程题中的输入数据方法
#include <iostream>using namespace std;int main(){ int n; cin>>n; string s; // 注意,在VS中这里会报错,需要添加 #include<string> // 因为在iostream里,对string只是声明,并没有定义。 cin>>s; // 但是上面碰到空格会进行分段,如果想一次性输入整行; // 会截断回车符。 // 如果没有读入字符,将返回false; getline(cin,line); //如果想使用自定义分隔符 getline(cin,line,delime); while(getline(cin,tt,delime)){ process(tt); } // 注意 如果之前有cin,然后再进行getline之前,需要把cin没有处理的回车符处理掉, // 也就是在getline之前加个 cin.get(); // 如果想从一个字符串里读取数据 #include<sstream> string src("dasf"); string des; stringstream ss(src); getline(ss,des,delime);}字符串转数字,数字转字符串
#include <iostream>#include <string>using namespace std;// string 里有 to_string()这个函数 参数可以是int,long,long long,unsigned long,float,double,long double;int main(){int a = 1;long b = 12345;unsigned int c = 23;float d = 32.123;double e = 12.1223;cout<<to_string(a)<<" "<<to_string(b)<<" "<<to_string(c)<<" "<<to_string(d)<<" "<<to_string(e)<<endl;return 0;}字符串转数字
两种方法,第一种就是调用string自带的stoi,stol,stoul,stoll,stoull,stof,stod,stold等。
第二种就是把字符串转换成stringstream,然后用>>进行读取
#include <iostream>#include <string>template<typename out_type,typename in_value>out_type convert(const in_value& t){ stringstream stream; stream<<t; out_type result; stream>>result; return result;}int main(){ string a("1234"); string b("12.45"); cout<<stoi(a)<<" "<<stof(b)<<endl; stringstream s1(a); int a1; s1>>a1; cout<<a1<<endl; //注意如果多个字符串进行输入到stringstream时,先clear一下,把缓冲区清空。 s1.clear(); float a2 = convert<float>(b); cout<<a2<<endl;}
继续阅读与本文标签相同的文章
上一篇 :
Docker安装
-
对于数据库连接池的一些思考和MyBatis的集成与使用
2026-05-25栏目: 教程
-
Windows下安装MySQL.zip
2026-05-25栏目: 教程
-
“干盘管”在高密数据中心的应用前景-孙长青
2026-05-25栏目: 教程
-
maven+SpringMVC搭建RESTful后端服务框架
2026-05-25栏目: 教程
-
云集:一个没有理想的电商“印刷机”?
2026-05-25栏目: 教程
