gpt4 book ai didi

c - 参数少于指定的 sscanf?

转载 作者:行者123 更新时间:2023-12-02 08:45:30 26 4
gpt4 key购买 nike

所以我想知道 sscanf 在遇到像这样的行时是如何工作的:

sscanf(input_string, "%s %s %s", cmd1, cmd2, cmd3);

但是假设 input_string 只包含 1 个字符串标记。为 cmd2 和 cmd3 分配了什么值?是否抛出错误?

我正在使用 GNU C 编译器。

最佳答案

不会为额外参数分配任何内容。 sscanf 的返回值告诉您成功完成了多少次转换,因此在本例中它将返回 1。您通常只是与您期望的数字进行比较,否则假设输入是错误的:

if (3 != sscanf(input_string,"%s %s %s", cmd1, cmd2, cmd3))
fprintf(stderr, "Badly formatted input (expecting three strings)\n");

当您从文件中读取时,您通常希望循环执行直到获得正确的输入:

while (3 != scanf("%s %s %s", cmd1, cmd2, cmd3))
fprintf(stderr, "Please enter 3 strings:");

关于c - 参数少于指定的 sscanf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12788077/

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