gpt4 book ai didi

c++ - 如何使用 fscanf 将任何字符读入字符串直到到达制表符?

转载 作者:太空狗 更新时间:2023-10-29 21:29:39 25 4
gpt4 key购买 nike

如何使用 fscanf 将任意字符读入字符串直到到达制表符?

我的数据文件只有 1 行:

123'\t'(Tab)345'\t'Le Duc Huy'\t'567

我像这样使用 fscanf:

fscanf(fin,"%d %d %d %[^\t]%s %d",&m,&n,&k,s,&q);

它返回错误值的 q。谁能告诉我是什么导致它失败了?

最佳答案

使用 fscanf(),您需要一个取反的字符类和一个长度:

char string[32];

if (fscanf(fp, "%31[^\t]", string) != 1)
...error or EOF...

问题的修改版本在最后一个制表符后有一个带单引号的数据字符串,单引号不能转换为整数,所以q中的值未定义。请注意,您必须检查 fscanf() 的返回值,以确保您期望匹配的所有字段确实匹配,在上下文中,如果可能返回值 4而不是 5,告诉你有错误。

关于c++ - 如何使用 fscanf 将任何字符读入字符串直到到达制表符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4315670/

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