您的位置:首页 > 编程语言 > C语言/C++

C++字符串分割和C语言常用格式控制

2017-11-28 20:06 423 查看
C++string的输出格式控制

输出一个字符串:左对齐,字宽为10,空格填充

[cpp] view
plain copy

string s;  

cin>>s;  

cout<<std::left<<setw(10)<<setfill('*')<<s<<endl;  

输入:love
输出效果:love******

C++string字符流字符分割技巧

输入一行字符串,然后按某个字符分割成若干子串

[cpp] view
plain copy

string s;  

getline(cin,s);//输入一行字符串  

stringstream line(s);//创建字符流对象  

while(getline(line,s,','))//按逗号分隔字符串  

    cout<<s<<endl;  

输入:you are,my friend

输出效果:

you are

my friend

其实还有一种写法,注意getline是以回车作为个串的结束符,就像c语言里gets(s);

当对象cin输入文件结束时(end-of-file)返回值为0 !!

这里是把结束符修改为逗号,回车符失去原来的作用

[cpp] view
plain copy

string s;  

while(getline(cin,s,','))//按逗号分隔字符串  

    cout<<s<<endl;  

效果同上一种方法

C语言输入输出技巧:

输入示例:

输入三个变量a,b,c。要求跨过b(此技巧实用性不大)scanf("%d%*d%d",&a,&c);执行这句话的效果是,从键盘输入三个数字,第二个数字会被忽略,剩余两个数字分别赋给a,c
输出:

左对齐输出一个字符串,要求宽度为m。

int m=10;
char s[100]="skajd";
printf("%-*s",m,s);效果:星号吸收m的值作为%s的宽度,符号代表左对齐。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: