写入和读取文件的系统调用
system call to write and read from a file
我想测试read
和write
的系统调用
#include <unistd.h>
#include <fcntl.h>
int main(void)
{
fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
write(fd, "Test the first line",20);
}
抄送报告:
In [29]: !cc write_test.c
write_test.c:6:5: error: use of undeclared identifier 'fd'
fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
^
write_test.c:7:11: error: use of undeclared identifier 'fd'
write(fd, "Test the first line",20)
^
2 errors generated.
我有一些 python 基础知识,但不知道如何完成代码。
您需要声明 fd
是什么类型。那是什么类型的?检查 open()
的参考文献,其中提到:
int open(const char *path, int oflag, ... );
可以看到return类型是int
。因此,应分配给该函数 return 值的变量也应属于同一类型。
所以改变:
fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
对此:
int fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
PS:如果文件不存在,那么你需要做:
int fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR | O_CREAT, 0600);
在 阅读更多内容。
我想测试read
和write
#include <unistd.h>
#include <fcntl.h>
int main(void)
{
fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
write(fd, "Test the first line",20);
}
抄送报告:
In [29]: !cc write_test.c
write_test.c:6:5: error: use of undeclared identifier 'fd'
fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
^
write_test.c:7:11: error: use of undeclared identifier 'fd'
write(fd, "Test the first line",20)
^
2 errors generated.
我有一些 python 基础知识,但不知道如何完成代码。
您需要声明 fd
是什么类型。那是什么类型的?检查 open()
的参考文献,其中提到:
int open(const char *path, int oflag, ... );
可以看到return类型是int
。因此,应分配给该函数 return 值的变量也应属于同一类型。
所以改变:
fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
对此:
int fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR);
PS:如果文件不存在,那么你需要做:
int fd = open("/Users/me/Desktop/PubRepo/C/APUE/3.File_IO/test", O_RDWR | O_CREAT, 0600);
在