- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
发生错误后,我自然会调用 perror()
。但是当我这样做或 printf("error: %s\n", strerror(errno));
我不知道发生了什么。
int fd;
if((fd = open(FILENAME, O_RDONLY)) == -1) {
perror("fbi");
exit(1);
}
for(;;) {
readed = read(fd, buffer, BUFSIZE);
if(readed == 0)
break;
if(readed == -1) {
perror("fbi"); // <- here's the error
exit(1);
}
如何解决这个问题?
更新:
printf("%d\n", errno); // given 9
更新 2:
看起来与 recv()
函数中传递的缓冲区大小有关。如果 BUFSIZE
为 1
,则给出上述错误。但是如果 BUFSIZE
是例如 128
没有错误。有人可以解释这种行为吗?
最佳答案
不可能从这个片段中确切地知道哪里出了问题。但总的来说,问题的答案是“为什么我在调用 [rock solid c library func here] 时出现段错误?”通常是:你的堆栈被炸了。阅读,当然是主要嫌疑人。
关于c - perror() 给出段。过错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12573266/
我有一个 Animals 类,从这个派生出特定的动物。我有一个名为 mItems 的动物列表。我想看看我的狮子是否饿了。我在 Animals 类中创建了虚函数: virtual void Is
发生错误后,我自然会调用 perror()。但是当我这样做或 printf("error: %s\n", strerror(errno)); 我不知道发生了什么。 int fd; if((fd
我正在努力学习 C,我已经达到了这样一种程度,我想尝试一些比简单的小例子更高级的东西,比如将文本打印到控制台,以非常简单的方式使用指针等等。 问题是我的程序在我调用 free 时崩溃了,我确定这是指针
我想使用下一个数组创建一棵树: int numbers[] = {4,6,7,23,60}; 想法是数字总和为 100。 我想使用下一种格式在树中对这个列表进行排序: 1.treeLeafNode空间
我在执行这段代码时观察到一个奇怪的行为 #include void main() { char *a[10] = {"hi", "hello", "how"}; int i = 0,
我想用 Lua C API 创建一个简单的嵌套表格。表中充满了 mysql 结果。但是,当我尝试读取表格时,我的应用程序崩溃了。 代码: int i = 0; lua_newtable
我是一名优秀的程序员,十分优秀!