问题描述
我正在做一个作业,其中涉及使用讲师在C语言中描述为“文件和系统I / O调用”的方法来创建文件并在其中操作字符。
具体地说,我正在使用打开,创建,读取,写入,查找,关闭和取消链接。
在没有透露太多信息和违反学术诚信的情况下,从本质上讲,作业只是创建文件,在文件之间复制字符,更改字符等。
在程序的某一点之前,所有这一切都进行得很顺利,之后只读...将无法工作。我正在访问哪个文件,或在它之前放置了其他任何调用都没有关系,例如,在尝试读取之前,我尝试关闭并重新打开一个文件,然后在读取之前进行写入(工作正常,将字符正确放置在文件的目标位置)等。
我已经检查了所有先前命令的返回,除了读操作之外没有其他错误,这给了我errorno9。查询了一下,似乎是指文件描述符不正确,但这并不表示错误。对我来说很有意义,因为我可以对其他任何命令使用相同的fid。使用ls -l,我确认我具有读写权限(如果有帮助,则没有组和公共权限)。
我完全不知道从何处进行故障排除,我们将不胜感激任何帮助。这是有问题的代码段:
readStatus = lseek(WWWfid,500,0);
if (readStatus<0) {
printf("error with lseek");
return 0;
}
/*printf("Read status: %i\n",readStatus);/*DEBUG*/
writeStatus = write(WWWfid,"wtf",3);
if (writeStatus<0) {
printf("error with write");
return 0;
}
readStatus = read(WWWfid,buffer,26);
int errorNum = errno;
/*buffer[27] = '\0';*/
if (readStatus<0) {
printf("error with read before loop,error %i\n",errorNum);
return 0;
}
我可能会在不引起我的uni愤怒的情况下包含更多内容,但我不希望这样做-考虑到所有进行中的代码似乎都能正常运行,这似乎也无关紧要。 感谢您的阅读,如果您有任何见解,请告诉我
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)