修复了山寨程序中的空格
Fix spacing in copycat program
这是一个基本的复制程序的代码,它只是复制用户输入的任何内容:
#include <iostream>
using namespace std;
#include <string>
int main()
{
cout << "type something.. I dare you..." << endl;
for (;;)
{
string usrin;
cout << "You: ";
cin >> usrin;
cout << "Me: " << usrin;
}
return 0;
}
但是当用户输入多个单词时,我得到这个:
我:更多比
你:
You: Me: one
You: Me: word
:
任何和所有的帮助是感激!谢谢你!
您需要使用cin.getline(usrin)
而不是cin >> usrin
。
cin >> usrin
在流中发现空白字符时停止读取,但在下次使用cin
时将流的其余部分留下。
cin.getline
将读取到行尾。但是,您需要将usrin
更改为char
的数组。
char usrln[MAX_LINE_LENGTH];
,其中MAX_LINE_LENGTH是一个常量,大于您期望看到的最长行的长度。
每次输入后,n
在输入缓冲区中留下,并在下一次迭代时读取。您需要刷新输入缓冲区。使用
cin.ignore(MAX_INT, 'n'); //Ignores to the end of line
添加<limits.h>
头。
#include <iostream>
#include <limits.h>
#include <string>
using namespace std;
int main()
{
cout << "type something.. I dare you..." << endl;
for (;;)
{
string usrin;
cout << "You: ";
cin >> usrin;
cout << "Me: " << usrin ;//<<endl;
cin.ignore(INT_MAX, 'n');
}
return 0;
}
相关文章:
- 用于拆分空格字符串的程序不起作用
- 如何在C++的凯撒密码程序中包含空格?
- 为什么EclipseCDT代码格式化程序有时会在模板参数中引入空格
- 解锈化代码格式化程序删除C++单行中的空格
- 崇高文本 3 - 在终端中编译并运行 C++ 程序(路径包含空格)
- 当使用e时没有空格时,奇怪的程序故障
- 在我的输入中没有空格的情况下,程序工作正常?C++
- 字符串中的空格是否会改变程序解释它的方式
- 使用包含给定空格的路径启动程序
- 我有n个空格,在每个空格中,我可以放置一个数字0到m.编写一个程序来输出所有可能的结果.需要帮助:)
- 为什么我不能在数组程序中使用空格?
- 如何从C++程序中删除多个空格,并放一个空格代替它
- 程序错误:用"%20"替换空格
- 当路径中有空格时,从与Qt应用程序相同的目录启动可执行文件
- 如何让我的程序分开而不是将输入之间的空格计算为整数
- C++ 用户定义的字符串需要包含空格(但程序不允许)
- Eclipse在运行调试器时破坏了带有空格字符的程序参数
- 如何在程序 c++ 结束时留出空格
- 当滥用词包含空格时,程序崩溃
- 如何在C++中随机生成的应用程序中在数字之间留出空格