Linux 開啟檔案並寫入一段字串,同時讀出對應檔案的資訊
在Linux中,採用C語言,使用fopen()函數開啟一個檔案(若不存在檔案,則建立一個 如 data/test.dat),同時採用
fwrite()向其中寫入相應的字串,每次輸入寫入都換行,最後採用fread()讀出相應的資訊。
相應的代碼如下:Test.c
/*Test.c :create a file : Write a string to the file */#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAX 128intmain(){ FILE *fp = NULL; //notice char *filePath = "data/test.dat"; char stringDes[] = "Hello world"; stringDes[strlen(stringDes)] = '\0'; char buf[MAX];/* open a file : FILE *fopen(const char *path, const char *mode); */#if 1 fp = fopen(filePath,"at+"); if(NULL == fp){ perror("fp"); return -1; } printf("file open success! \n");#endif/* write data block to a file: size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream); */ int i; for(i = 0; i <= 2; i++){ fwrite(stringDes,strlen(stringDes), 1, fp); fwrite("\n",1, 1, fp); fflush(fp); } printf("file set start \n"); fseek(fp,0,SEEK_SET); //set start file fread(buf,strlen(stringDes),1,fp); buf[strlen(stringDes)] = '\0'; printf("buf = %s \n",buf); fclose(fp);}
test.dat 的內容如下:
root@ubuntu:~/openAndWriteFile/Zywtest/data# vim test.dat
Hello world Hello world Hello world ~
~
~