c++string 输入换行符

#include<string>如fasdfsdsafsafsgsggsagfsagdgsaf一次性全部输入到一个串里怎么弄?... #include<string>

fasdfsd
saf saf sgsg gsa
gf sag dg
saf
一次性全部输入到一个串里怎么弄?
展开
 我来答
White_MouseYBZ
2016-01-06 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6634万
展开全部

换行符通常是默认的输入结束标志,现在要把它作为字符存入字符串,就得另外约定一个结束符,这里设为'#'。有了这个约定,就有很多办法可以解决题面问题,下面提供一种:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include <string>
#include <iostream>
using namespace std;
int main(void){
    string s;
    char x;
    while((x=cin.get())!='#')//输入#结束,其他字符继续
        s+=x;
    cout << s << endl;
    return 0;
}
金色潜鸟
推荐于2018-03-07 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5700万
展开全部
string 一次只能输入一行,不含换行符。可以自己添加换行符 和输入行数。例如:
#include <iostream>
#include <string>
using namespace std;
main()
{
string s,s2;
int i;
getline (cin,s);
for (i=0;i<3;i++) // 行数
{
getline (cin,s2);
s.append("\n"); // 添加换行符
s.append(s2);
}
cout << s << endl;
return 0 ;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stlr2008
2013-10-26 · TA获得超过500个赞
知道小有建树答主
回答量:568
采纳率:0%
帮助的人:391万
展开全部
#include "iostream"
using namespace std;
int main()
{
string tt;
int num;
char *cTemp;
cTemp = new char[100];
printf("enter the number of char:\n");
scanf("%d", &num);

fflush(stdin);
printf("enter char:\n");

if (num<1||num>100)
{
printf("error number!!\n");
return 0;
}

for(int i=0; i<num; i++)
{
scanf("%c", cTemp+i);
// cTemp++;
}

printf("你输入的是:\n");
for(i=0; i<num; i++)
{
printf("%c", *(cTemp+i));
tt.append(cTemp+i);
}

printf("\n");
return 0;
}

自己手写的,你参考一下吧,可以一个个append到string中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彩色的梦021
2013-10-26
知道答主
回答量:51
采纳率:0%
帮助的人:13.6万
展开全部
string s;
getline(cin,s);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式