将 getline() 与文件一起使用
using getline() with files
我想知道为什么当我使用getline()
时我的文件输入不起作用。我试图temp
去掉空格,但这确实也奏效了。
void getKittenFromFile(string file, roster& kitt) {
string temp;
ifstream inFS;
int i = kitt.size;
inFS.open(file);
if (!inFS.is_open()) {
cout << "Error! File not found." << endl;
}
else {
while (!inFS.eof() && kitt.size < 10) {
getline(inFS, kitt.kittens[i].name);
getline(inFS, kitt.kittens[i].color);
inFS >> kitt.kittens[i].score;
i++;
kitt.size++;
}
该文件如下所示:
Willow
dark brown
66
jack
brown
84
Will
blue
6
正如其中一条评论所提到的,由于使用>>
阅读,您的getline()
会捕获尾随的""。要解决此问题,您可以使用get()
清除单个换行符,或者更完整的解决方案是使用:inFS.ignore(numeric_limits<streamsize>::max(), 'n');
相关文章:
- 将 getline() 与文件一起使用
- 与clang++一起使用的VS代码在构建良好的C++文件中显示错误
- 我应该如何获取配置文件的绝对路径与 Windows .exe一起发布?
- 使用个人C++库编译代码时,与头文件一起使用时会中断
- 无法使包含.hpp文件与其中的2个文件一起使用
- 您是否必须随项目一起交付原型文件?
- 将boost::filtering_streambuf与newline_filter一起使用时为空文件
- 将 select() 与非基于文件描述符的输入一起使用
- 为什么我不能将 Windows 环境路径与 ofstream 一起使用来编写文本文件?
- 有没有办法将 getline() 与外部文本文件一起使用,然后重新获得 cin 的控制权以从控制台获取输入?
- 如何将第三方 dll、标头和库文件与 Node N-API 一起使用
- 如何从 C 文件将引脚排列与 esp8266 一起使用?
- CMake 项目结构:如何正确地将库合并在一起并将它们包含在多个可执行文件中
- 我如何配置我的cmake文件以与Google Test和CTEST一起使用
- 将 boost-di 与配置文件和共享库一起使用
- Visual如何将文件与整数一起使用到阵列C 中
- QT项目在配置文件上崩溃,与发布和调试器一起运行
- (C )在读取文件时,如何将GetLine()与整数一起使用
- 如何连接两个文件夹/项目的生成文件,这两个文件夹/项目必须一起运行且独立运行
- 我不明白如何将 toupper 和 isalpha 与.txt文件字符串输入一起使用