gpt4 book ai didi

c++ - 检查来自文件的传入数据类型

转载 作者:行者123 更新时间:2023-11-28 08:06:40 25 4
gpt4 key购买 nike

我正在从一个 .txt 文件中读取内容,该文件看起来类似于:

int string string string
int string string
int string string string string string

其中每个 int 之后的 string 类型的数量是未知的。每行代表一组新的值,每组都需要放入自己的数组值或其他内容(不知道我的措辞是否正确,但我希望你能理解我的意思)。

是否有我可以执行的检查,以查看来自文件的传入数据是否是 int,如果这是真的,并且可以告诉我的程序它是一组新数据?

我试过了

int check
if(check = file1.peek()){//start new group assignment}

但这似乎不起作用。一旦我发现它是正在读入的下一个数据类型,我就需要能够使用 int 值。

提前致谢。

最佳答案

有几种方法可以做到这一点,但我建议您的组可能在不同的行上,一行中的空格分隔组中的项目是否正确?

所以我会读取文件,一次一行,然后用空格分隔每一行。

让我知道以上是否合适,然后我们可以解释如何去做。

好的,您可以使用 getline:

while (cin.good()) // reading from standard input until EOF
{
String line_str;
getline(cin, line_str); // get next line from standard input
istringstream line(line_str); // put line into string stream

if (line.good()) // read from string stream until EOF
{
int x;
line >> x; // read an integer from string stream

while (line.good()) // read from string stream until EOF
{
string s;
line >> s; // read strings from string stream
/// process s
}
}
}

关于c++ - 检查来自文件的传入数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10164884/

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