天天看點

C語言之格式化讀寫檔案

來源:我的部落格站 OceanicKang |《C語言之格式化讀寫檔案》

###一、函數

  • fprintf(FILE *stream, const char *format, …) — 格式化寫
  • fscanf(FILE *stream, const char *format, …) — 格式化讀

【注】參數結構與printf(const char *format, …)類似

###二、例子

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
	FILE *fp;
	
	// 擷取目前時間 ******************/
	struct tm *ptime;
	time_t t;
	time(&t);
	ptime = localtime(&t);
	
	// 格式化寫入 *******************/
	if ((fp = fopen("./date.txt", "w")) == NULL) {
		
		perror("打開檔案失敗!");
		exit(EXIT_FAILURE);
		
	}
	
	fprintf(fp, "%d-%d-%d", 1900 + ptime -> tm_year, 1 + ptime -> tm_mon, ptime -> tm_mday);
	
	fclose(fp);
	
	// 格式化讀取 *******************/
	if ((fp = fopen("./date.txt", "r")) == NULL) {
		
		perror("打開檔案失敗!");
		exit(EXIT_FAILURE);
		
	}
	
	int year, month, day;
	
	fscanf(fp, "%d-%d-%d", &year, &month, &day);
	
	printf("%d-%d-%d", year, month, day);
	
	fclose(fp);
	
	return 0;
}