昨天在我的課堂上,我們第一次開始使用文件。我想看看它是如何工作的,所以我編寫了一個程序,在那裏我寫了一個字,並且這個字必須寫在一個特定的文件中(該部分工作)。之後,我想從該文件中讀取一些字符並將其顯示在屏幕上。從文件中讀取
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <sys/stat.h>
#include <process.h>
#include <fcntl.h>
#include <string.h>
int main()
{
int df,m;
char c[50],d[50];
printf("c= \n");
gets(c);
m=strlen(c);
df=open("e:\\codeblocks\\fisperimente\\text2.txt",O_RDONLY|O_WRONLY);
if (df==-1) {printf("error");exit(1);}
write(df,c,m);
/*int i,n;
n=read(df,d,5);
for (i=1;i<=n;i++)
{
printf("%c",d[i]);
} */
close(df);
return 0;
}
我在我的評論中提到的部分是沒有工作的部分。我注意到如果我printf n,它返回-1,這意味着我從文件中讀取時做了錯誤。
我O_RDONLY使用| O_WRONLY因爲那是我們的教授告訴過我們,我們可以讀取和寫入文件。我使用了邁克爾的建議,我重新打開了它,並且它工作了(當我第二次打開它時,我只使用了RD_ONLY),然後我意識到從第一次打開我的RDONLY是無用的。謝謝大家,問題解決了。 – user3078259
請與你的教授討論 - 他需要至少糾正他的筆記。 –