前言
今天突然興起,看來(lái)一下C語(yǔ)言的文件操作,以前在學(xué)習(xí)的時(shí)候,總是一帶而過(guò),覺(jué)得沒(méi)有什么用處;但是現(xiàn)在看來(lái),還真的沒(méi)有什么用處,最后,我現(xiàn)在還有用到,當(dāng)然這只是我的個(gè)人認(rèn)為,并不能說(shuō)明什么,在此我將自己寫的一段代碼附上,希望能和大家一同學(xué)習(xí)
1、打開(kāi)一個(gè)文本文件
FILE *fopen( const char * filename, const char * mode );
 linux文件路徑: linux:fopen("/tmp/test.txt", "w+");  windows文件路徑: windows:fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","w+");模式:

如果處理的是二進(jìn)制文件,則需使用下面的訪問(wèn)模式來(lái)取代上面的訪問(wèn)模式:
"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"、
2、寫入文件
int fputc( int c, FILE *fp );
c:寫入的字符    fp:打開(kāi)的文件流
3、讀取文件
int fgetc( FILE * fp );
fgetc() 函數(shù)從 fp 所指向的輸入文件中讀取一個(gè)字符。返回值是讀取的字符,如果發(fā)生錯(cuò)誤則返回 EOF。下面的函數(shù)允許您從流中讀取一個(gè)字符串
char *fgets( char *buf, int n, FILE *fp );
函數(shù) fgets() 從 fp 所指向的輸入流中讀取 n - 1 個(gè)字符。它會(huì)把讀取的字符串復(fù)制到緩沖區(qū) buf,并在最后追加一個(gè) null 字符來(lái)終止字符串。
如果這個(gè)函數(shù)在讀取最后一個(gè)字符之前就遇到一個(gè)換行符 '/n' 或文件的末尾 EOF,則只會(huì)返回讀取到的字符,包括換行符。您也可以使用 int fscanf(FILE *fp, const char *format, ...) 函數(shù)來(lái)從文件中讀取字符串,但是在遇到第一個(gè)空格字符時(shí),它會(huì)停止讀取。
4、關(guān)閉文件
fclose( FILE *fp );
#include <stdio.h>#include <string.h>int main(){ FILE *fp = NULL; fp = fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","w+"); fprintf(fp,"hello word....../n"); fputs("hello word....../n",fp); fclose(fp); getchar(); return 0;}所示代碼運(yùn)行結(jié)果為:

下面進(jìn)入正題:
如何將日期、時(shí)間存儲(chǔ)到記事本文件中,
1、如何獲取日期、時(shí)間(time.h)
2、如何保存
/*vs2010在編譯生成程序之后,dos界面會(huì)出現(xiàn)閃退的情況,解決辦法:1.在源程序后面添加getchar();2.添加頭文件#include之后在main函數(shù)結(jié)尾前寫上system("pause");*/#include <stdio.h>#include <string.h>#include <time.h>#include <Windows.h>int main(){ FILE *fp = NULL; char *s="adasdsadasd"; time_t timep; struct tm *p; fp = fopen("E:/Desktop/cyuyan_sz/vs2010/one/jiguoti/temp/a.txt","a");  while(1) {  time(&timep);  p=gmtime(&timep);   fputs("日期:",fp);  fprintf(fp,"%d",p->tm_year+1900); //獲取年  fputs(":",fp);  fprintf(fp,"%d",p->tm_mon+1);  //獲取月  fputs(":",fp);  fprintf(fp,"%d",p->tm_mday);  //獲取日  fputs("  ",fp);  fputs("時(shí)間:",fp);  fprintf(fp,"%d",p->tm_hour+8);  //獲取時(shí)  fputs(":",fp);  fprintf(fp,"%d",p->tm_min);   //獲取分  fputs(":",fp);  fprintf(fp,"%d",p->tm_sec);   //獲取秒  fputs("  ",fp);  fputs("今天是今年的第 ",fp);  fprintf(fp,"%d",p->tm_yday);  //獲取今年的第幾天  fputs(" 天/n",fp); //換行    fputs("/r/n",fp);  Sleep(1000); //1s保存一次 } fclose(fp); getchar(); return 0;}運(yùn)行結(jié)果如下:

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選