gpt4 book ai didi

我可以使用 fscanf 仅从包含字符和整数的文本中获取数字吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:58 24 4
gpt4 key购买 nike

我想从包含字符和数字的文件中提取数字。

例如:

+ 321 chris polanco 23

我想跳过“+”,只得到 321。

这是我目前的代码。

while(fscanf(update, "%d", &currentIn->userid) != EOF){
currentIn->index = index;
rootIn = sort(rootIn, currentIn);
index = index + 1;
currentIn = malloc(sizeof(Index));
}

我在想,因为我有 %d 它会得到它找到的第一个数字,但我错了。如果你们有更好的方法,我愿意接受。

最佳答案

我建议使用 fgets(),而不是费力地使用 fscanf()(稍后会遇到格式问题)。 + sscanf()组合来处理每一行。

如果您知道您感兴趣的整数从文件每一行的第 3 个位置开始,那么您可以在 sscanf() 中执行 line+2 来读取它。否则,您可以根据输入文件的格式修改 sscanf() 格式字符串。

char line[MAX_LINE_LEN + 1];

While ( fgets(line, sizeof line, update) )
{
if(sscanf(line+2, "%d", &currentIn->userid) != 1)
{
/* handle failure */
}
...
}

关于我可以使用 fscanf 仅从包含字符和整数的文本中获取数字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19413569/

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