【发布时间】:2014-06-08 14:08:17
【问题描述】:
当我运行以下程序并将 50000 个符号粘贴到命令行时,程序仅获得 4096 个符号。您能否建议我如何获取完整的符号列表?
#include <iostream>
#include <string>
using namespace std;
int main()
{
char temp[50001];
while (cin.getline(temp, 50001, '\n'))
{
string s(temp);
cout << s.size() << endl;
}
return 0;
}
附: 当我使用 fstream 从文件中读取符号时,没关系
【问题讨论】:
-
这是命令行限制
-
您确定输入中没有分隔符吗?否则可能是平台限制
-
我不明白,为什么不直接读入
std::string? -
直接读入 std:string 或发布在这里的问题是一样的。如果您成功读取所有符号,请分享代码。
-
您的文件是否包含 EOF 字符?例如,在 Windows 平台上,Crtl-Z 字符表示文件结束。要验证这一点,请使用
std::cin.get方法输入文本。使用std::cin.gcount获取实际读取的字符数。
标签: c++ visual-studio-2010 cin getline