gpt4 book ai didi

c++ - 使用 getline() 的问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:56:32 25 4
gpt4 key购买 nike

我的头发快没法拔了,所以我想也许这里有人可以帮助我解决这个问题。

我正在尝试使用 getline() 逐行读取文件,这看起来很简单。问题是,我的代码似乎一直忽略\n,并将整个文件放入一个字符串中,至少可以说这是有问题的。

void MakeRandomLayout(int rows, int cols)
{
string fiveByFive = "cubes25.txt";
string fourByFour = "cubes16.txt";

ifstream infile;

while (true) {
infile.open(fourByFour.c_str());
if (infile.fail()) {
infile.clear();
cout << "No such file found";
} else {
break;
}
}

Vector<string> cubes;
string cube;
while (std::getline(infile, cube)) {
cubes.add(cube);
}
}

编辑:运行 OSX 10.7。文件的无限循环未完成,最终会要求文件。扩展的 getline() 版本不走运,之前尝试过。用于开发和构建/运行的相同系统。

我正在阅读的文本文件如下所示:

AAEEGNABBJOOACHOPSAFFKPSAOOTTWCIMOTUDEILRXDELRVYDISTTYEEGHNWEEINSUEHRTVWEIOSSTELRTTYHIMNQUHLNNRZ

文件中的每个字符串都在一个新行上。我没有阅读的第二个是相同的,但 25 行而不是 16

最佳答案

Mac 软件将 '\r''\n' 识别为行尾,以便与 Mac OS Classic 向后兼容。当您的处理代码需要 '\n' 时,请确保您的文本编辑器没有在您的文件中放置 '\r' 行结尾(并验证 >'\n' 您认为在字符串中间的字符实际上不是 '\r'

关于c++ - 使用 getline() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9024692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com