我正在尝试使用fscanf()来读取没有逗号和点的字符串。
示例输入:
“女贞路四号杜斯利先生和夫人,很自豪地说他们非常正常,非常感谢你。”
我想每次都读“先生”,“太太”和“杜斯利”,例如
我尝试了几种使用可选参数执行此操作的方法,但我失败了。如何使用fscanf()忽略逗号和点?
答案 0 :(得分:1)
您可以使用the regex feature of sscanf执行此操作。
#include <stdio.h>
int main()
{
char *str = "Mr. Fiddle Tim went to the mall. Mr. Kurdt was there. Mrs. Love was there also. "
"They said hi and ate ice cream together." ;
char res[800] = { 0 };
sscanf( str, "%800[^.,]", res ) ;
puts( str ) ;
}
要继续,您需要使用sscanf
(或fscanf
)的返回值来确定匹配的字符数。我把它留给你。