C中
char ch[100];
1.scanf("%s",ch); //输入中在遇到空格符、回车符时会认为字符串已经结束
2.cin >> ch; // 输入中在遇到空格符、回车符时会认为字符串已经结束
3.cin.getline(ch,100);// 输入中只会在遇到回车符时认为字符串结束,即可以接收空格
4.cin.getline()中如果是3个参数,最后一个参数是字符串的结束标志,此参数省略时,默认是‘\0’
4.gets(ch);// 输入时接收空格,只用于char 中
5.getchar();// 输入一个字符,通常也用来吃空格和换行
C++中
string s;
1.cin >> s;// 输入时遇到空格符、回车符后会认为字符串已经结束
2.getline(cin,s);// 输入中接收空格
3.getline()中也可以有3个参数,与cin.getline()用法相似
更新:
由于有些版本的codeblocks不能用gets,最近刚get到了一个新操作,也可以输入带空格的字符串
scanf("%[^\n]",ch);//注意是反斜杠
感觉还是比较好用的,也比较好记,把s换一下就欧了