fprintf()函數用于將格式化的數據寫入文件中,它的原型為:
int fprintf(FILE *stream, const char *format, ...)
其中,stream是指向 FILE 對象的指針,format 是一個格式化字符串,… 是可選的參數列表,用于填充格式化字符串中的占位符。
示例:
假設有一個名為 data.txt 的文件,我們要向其中寫入一些數據,可以使用 fprintf() 函數來實現:
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "w");
if (file == NULL) {
printf("無法打開文件\n");
return 1;
}
int num1 = 10;
float num2 = 3.14;
char str[] = "Hello";
fprintf(file, "整數:%d\n", num1);
fprintf(file, "浮點數:%f\n", num2);
fprintf(file, "字符串:%s\n", str);
fclose(file);
return 0;
}
這樣,程序會將整數、浮點數和字符串按照指定的格式寫入到 data.txt 文件中。
而 fscanf() 函數用于從文件中讀取格式化數據,它的原型為:
int fscanf(FILE *stream, const char *format, ...)
其中,stream 是指向 FILE 對象的指針,format 是一個格式化字符串,… 是可選的指針參數,用于接收讀取的數據。
示例:
假設有一個名為 data.txt 的文件,文件內容如下:
整數:10
浮點數:3.14
字符串:Hello
現在我們想要從文件中讀取這些數據,可以使用 fscanf() 函數來實現:
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "r");
if (file == NULL) {
printf("無法打開文件\n");
return 1;
}
int num1;
float num2;
char str[100];
fscanf(file, "整數:%d", &num1);
fscanf(file, "浮點數:%f", &num2);
fscanf(file, "字符串:%s", str);
printf("整數:%d\n", num1);
printf("浮點數:%f\n", num2);
printf("字符串:%s\n", str);
fclose(file);
return 0;
}
這樣,程序會從 data.txt 文件中讀取整數、浮點數和字符串,并將它們輸出到控制臺上。