C語(yǔ)言將日期、時(shí)間保存到文本文件中的方法
前言
今天突然興起,看來一下C語(yǔ)言的文件操作,以前在學(xué)習(xí)的時(shí)候,總是一帶而過,覺得沒有什么用處;但是現(xiàn)在看來,還真的沒有什么用處,最后,我現(xiàn)在還有用到,當(dāng)然這只是我的個(gè)人認(rèn)為,并不能說明什么,在此我將自己寫的一段代碼附上,希望能和大家一同學(xué)習(xí)
1、打開一個(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)制文件,則需使用下面的訪問模式來取代上面的訪問模式:
"rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"、
2、寫入文件
int fputc( int c, FILE *fp );
c:寫入的字符 fp:打開的文件流
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 字符來終止字符串。
如果這個(gè)函數(shù)在讀取最后一個(gè)字符之前就遇到一個(gè)換行符 '\n' 或文件的末尾 EOF,則只會(huì)返回讀取到的字符,包括換行符。您也可以使用 int fscanf(FILE *fp, const char *format, ...) 函數(shù)來從文件中讀取字符串,但是在遇到第一個(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ì)腳本之家的支持。
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)統(tǒng)計(jì)一行字符串的單詞個(gè)數(shù)
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)統(tǒng)計(jì)一行字符串的單詞個(gè)數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
C語(yǔ)言實(shí)現(xiàn)三子棋的步驟和代碼詳解
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)三子棋的步驟和代碼詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
C 語(yǔ)言基礎(chǔ)教程(我的C之旅開始了)[九]
C 語(yǔ)言基礎(chǔ)教程(我的C之旅開始了)[九]...2007-02-02
C語(yǔ)言?超詳細(xì)講解算法的時(shí)間復(fù)雜度和空間復(fù)雜度
算法復(fù)雜度分為時(shí)間復(fù)雜度和空間復(fù)雜度。其作用:?時(shí)間復(fù)雜度是度量算法執(zhí)行的時(shí)間長(zhǎng)短;而空間復(fù)雜度是度量算法所需存儲(chǔ)空間的大小2022-03-03
C語(yǔ)言字符函數(shù)與字符串函數(shù)的實(shí)現(xiàn)示例
C語(yǔ)言標(biāo)準(zhǔn)庫(kù)中的<ctype.h>和<string.h>頭文件分別提供了豐富的字符處理和字符串處理函數(shù),本文就來介紹一下C語(yǔ)言字符函數(shù)與字符串函數(shù)的實(shí)現(xiàn)示例,感興趣的可以了解一下2024-11-11
C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇小游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
C/C++獲取主機(jī)網(wǎng)卡MAC地址的三方法
MAC地址(Media Access Control address),又稱為物理地址或硬件地址,是網(wǎng)絡(luò)適配器(網(wǎng)卡)在制造時(shí)被分配的全球唯一的48位地址,通過獲取MAC地址可以判斷當(dāng)前主機(jī)的唯一性可以與IP地址綁定并實(shí)現(xiàn)網(wǎng)絡(luò)準(zhǔn)入控制,本文給大家介紹了使用C/C++獲取主機(jī)網(wǎng)卡MAC地址的三方法2023-11-11

