gpt4 book ai didi

c - 在 C 中使用 scanf 解析带有 2 个不同分隔符的字符串

转载 作者:行者123 更新时间:2023-11-30 16:45:03 25 4
gpt4 key购买 nike

尝试解析具有两个不同分隔符的字符串。一个空格,后跟 2 个逗号,再后跟一个空格/换行符。

scanf("%s%[^,]s%[^,]s%s", v1, v2, v3, v4);

出于某种原因,向标准输入写入一个按“abc asc, abc abc”分隔的字符串将为 v1 和 v2 生成正确的结果。但 v3 和 v4 的结果是垃圾。

可能是什么原因?

编辑:这是完整的代码

char v1[MAX_LENG], v2[MAX_LENG], v4[MAX_LENG], v3[MAX_LENG];

scanf("%s%[^,]%[^,]%s", v1, v2, v3, v4);
printf("%s%s%s%s", v1, v2, v3, v4);

然后打印出来阅读 A.

最佳答案

使用以下内容:

"%s %[^,], %s %s"

输出:

$ gcc -Wall main.c
$ ./a.out
abc def, hij klm <<<<< Input
abc
def
hij
klm

关于c - 在 C 中使用 scanf 解析带有 2 个不同分隔符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44246400/

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