从文件发出读取空间
Issue reading space from file
我正试图从一个文件中读取一行,其中有空格。尽管我做了所有的尝试,做了所有的研究,似乎都没有效果,这是我目前的尝试
void read_name(fstream& in_file, comp& cmp)
{
char buff[80];
in_file.getline(buff, 79, 'n');
in_file >> buff;
cout << "NAME: " << buff << endl;
cmp.set_name(buff);
in_file.getline(buff, 79);
}
无论出于什么原因,这仍然会读取,直到它看到一个空格,然后停止。任何帮助都将非常感激。我不太擅长直接使用c++,所以我很可能只是错过了一些东西。
in_file.getline(buff, 79, 'n');
。您读取一行(假设该行不超过78个字符)。那你为什么要这么做?
in_file >> buff;
这将用下一个单词覆盖您刚刚阅读的行。如果需要下一行,则再次调用getline。
但是最好使用std::string
和自由函数std::getline
,这样你就不必指定行长度了。
std::string buff;
std::getline(in_file, buff);
in_file >> buff;
将清除刚刚从文件中读取的buff的内容。如果您使用调试器查看buff的内容,那么您将看到这种情况的发生。
由于您正在使用c++,我建议您使用stl字符串而不是字符数组。
std::string linestr;
while( std::getline(input, linestr) )
{
// process line
}
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- 当注入程序的内存空间时,如何读取从 0 到 0xFFFFFFFFF 的每个字节?我正在创建模式扫描仪
- 在C++中读取文件时增加了空间
- C++从 std::async 函数读取命名空间中的全局变量标志
- C 提升ifstream读取文件内容,带有白色空间,折断,标签等
- 尝试从每个预期数据之间有多个空间的文件中读取和存储数据
- 在C 中读取文本文件时避免使用空间和行
- 读取文件中的数字数量无限,存储在数组中(无空间)
- 从带有空间的.txt中读取完整的文本,为单个变量C
- 如何读取文件内容并将其保存到字符串类型变量?为什么有空白空间
- 读取空间分离数据并将其推送到适当的连接中
- 文本文件读取和动态数组中的 EMTY 空间传递问题
- C++读取文件直到空间
- OpenGL:从许多帧缓冲纹理中读取空间像素数据的有效方法
- 我的输入文件中没有读取C++空间
- 从文件发出读取空间
- 提高从文件读取时的空间复杂度
- 如何使std::cin读取空间
- 从.docx中读取theme1.xml,属性不带名称空间
- 读取与文件分隔的输入空间