我有两个程序,其中一个是打开一个文件来读取,而另一个我试图从文件中读取:
第一个程序
http://example.com/webapps/api/add_token.php?token=%@&country=%@&timezone=%@
第二个程序:
fd = open("test.txt",O_RDONLY);
printf("%d\n",fd);
while(1);
在第二个程序中,我阅读了我在第一个程序中打印的内容。为什么这段代码不起作用?如何从程序nr 2中读取该文件描述符?
答案 0 :(得分:3)
文件描述符对于该过程是唯一的。您还需要写入文件描述符。
答案 1 :(得分:2)
有几个问题:
fd = open("test.txt", O_RDONLY)
打开文件进行阅读。如果我理解您要执行的操作,则需要创建该文件并将其打开以进行编写。那将是fd = open("test.txt", O_CREAT | O_WRONLY)
。printf("%d\n",fd)
显示文件句柄的值。虽然这可能对调试很有用,但我认为你想要一些写入文件句柄的东西。 write (fd, "hello", 5)
更接近于此。while(1);
是一个无限的CPU忙循环。这不是很有用。同样,第二个程序存在问题:
fd = scanf("%d",&fd)
很特别。我想你想打开刚写的文件,不是吗?相反,fd = open("test.txt", O_RDONLY)
。read (fd, sir, sizeof sir)
。看看这些是否有帮助。
如果您不是主要处理文件中的二进制数据,则fopen()
和fprintf()
库调用会更方便。