C - 返回值错误

标签 c

如何判断什么类型的错误导致返回值为-1?

例如:

a = sscanf(ptr, "%s",output);
printf("%d",a);

输出:

-1

最佳答案

来自文档:

...应设置 errno 来指示错误

使用perror()查看错误是什么。通常,errno 仅在出现读取错误时适用,这不适用于 sscanf。当没有匹配失败或转换时,仅返回 -1。由于您的 fmt 字符串只是“%s”,因此我能想到获得 -1 返回值的唯一原因是 ptr 指向的字符串仅包含空格。

关于C - 返回值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10653702/

相关文章:

c++ - 何时在 C++ 中使用 extern "C"?

API设计思想中的C void指针

c - 如何使用 ld_preload 将库预加载到 wine(windows 游戏)?

在 c 中释放二维矩阵时正确使用 free()

c - 当 sig 0 发送到 TARGET REAL UID == CURRENT EFFECTIVE UID 的进程时,kill 的返回值是多少?

c++ - 如何使用 LLVM 为不同的目标架构编译程序?

在 C 中更改/转换 xmlChar 的类型

c - 在链表的末尾插入

c - BSD(Mac OS X 和 OpenBSD)和 Linux (Ubuntu) 之间的套接字行为不同

c - 传递给另一个方法的结构体数组