Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 读多个单词,后跟一个整数_C_Scanf - Fatal编程技术网

C 读多个单词,后跟一个整数

C 读多个单词,后跟一个整数,c,scanf,C,Scanf,我想使用fscanf阅读以下文本。但是,我尝试使用“fscanf(ifp)”、%[^d\n]%d”、title和stock“来阅读它。但它不起作用。整数总是包含在字符串中,我无法将字符串部分和整数部分分开 Logan 1 星球大战:盗贼一号5 怪物卡车6 动力游骑兵5 暴怒者的命运 变形金刚4 雷神2 蓝精灵1嗯,[^d\n]将匹配任何不包含文字d字符或换行符的字符运行,因此这不是您的意思-这将是[^0123456789\n]。不幸的是,这是不可能的。正则表达式可以工作,但这需要POSIX系统。

我想使用fscanf阅读以下文本。但是,我尝试使用
“fscanf(ifp)”、%[^d\n]%d”、title和stock“
来阅读它。但它不起作用。整数总是包含在字符串中,我无法将字符串部分和整数部分分开

Logan 1
星球大战:盗贼一号5
怪物卡车6
动力游骑兵5
暴怒者的命运
变形金刚4
雷神2

蓝精灵1

嗯,
[^d\n]
将匹配任何不包含文字
d
字符或换行符的字符运行,因此这不是您的意思-这将是
[^0123456789\n]
。不幸的是,这是不可能的。正则表达式可以工作,但这需要POSIX系统。最好的选择是使用
fgets
读取数字,并从末尾反向扫描数字。如果数字前总是有空格,而数字在行尾,那么您可以尝试
strtok()
@Yunnosch,这就像答案第一句的从句。@AnttiHaapala您有道理。所以你不介意有人在这个基础上建立一个答案?(顺便说一句,链接到
*scanf
;-)的基础知识很好@Yunnosch我不保留将我的评论扩展为答案的任何权利,如果这是你的意思:d