gpt4 book ai didi

c++ - (C++) 在 fstream 中搜索截断字符

转载 作者:行者123 更新时间:2023-11-30 01:48:45 25 4
gpt4 key购买 nike

所以我不完全确定为什么会这样。我试过在我正在读取的 txt 文件中的单词之前添加空格,它修复了一些,但不是全部。基本上我只是想返回一个名字,文件中的每个名字都在不同的行上。但是当我打印名字时,其中一些被切断了,比如“Dillon”将是“llon”或“Stephanie”将是“phanie”等等。下面是 seekg 的使用:

string Employee::randomFirstName()
{
int i;
string fName;

i = rand() % 100;

ifstream firstName;
firstName.open("First Names.txt", ios::out);
firstName.seekg(i);
firstName >> fName;

return fName;

}

因此,我会发布 txt 文件,但它只是一个名称列表,每行一个,共 100 个。我已经尝试查找使用 seekg 的示例,但我似乎无法弄清楚为什么它会切断一些。此外,它只是有时会中断。一个输出它会正确地打印出“Dillon”,接下来它会打印“llon”。

任何帮助将不胜感激

最佳答案

istream::seekg() 将移动到一个字符 位置。因此,寻找 0 到 99 之间的随机字符位置 (rand() % 100) 可能会在一行的中间结束。 seekg 无法知道您要查找行号:它没有行的概念。

您可以改为使用 std::getline i 次来到达该特定行。

关于c++ - (C++) 在 fstream 中搜索截断字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30041472/

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