fprintf
是一個用于將格式化的輸出寫入文件流的 C 語言函數
輸出整數、浮點數和字符串:
#include<stdio.h>
int main() {
int a = 42;
float b = 3.14;
const char *s = "Hello, World!";
FILE *file = fopen("output.txt", "w");
if (file == NULL) {
printf("Error opening file.\n");
return 1;
}
fprintf(file, "Integer: %d\n", a);
fprintf(file, "Float: %.2f\n", b);
fprintf(file, "String: %s\n", s);
fclose(file);
return 0;
}
輸出十六進制和八進制數:
fprintf(file, "Hexadecimal: %x\n", a);
fprintf(file, "Octal: %o\n", a);
輸出指針地址:
void *ptr = &a;
fprintf(file, "Pointer address: %p\n", ptr);
輸出帶有前導零的整數:
fprintf(file, "With leading zeros: %04d\n", a);
輸出帶有左對齊或右對齊的文本:
fprintf(file, "Left-aligned: %-10s\n", s);
fprintf(file, "Right-aligned: %10s\n", s);
輸出科學計數法表示的浮點數:
fprintf(file, "Scientific notation: %e\n", b);
使用變長參數列表(va_list
)實現自定義格式化輸出函數:
#include <stdarg.h>
void custom_fprintf(FILE *file, const char *format, ...) {
va_list args;
va_start(args, format);
vfprintf(file, format, args);
va_end(args);
}
int main() {
// ... (open the file and declare variables)
custom_fprintf(file, "Integer: %d\n", a);
custom_fprintf(file, "Float: %.2f\n", b);
custom_fprintf(file, "String: %s\n", s);
// ... (close the file)
}
這些技巧可以幫助你更有效地使用 fprintf
函數。請注意,在實際編程中,始終要確保正確處理文件操作(如打開、寫入和關閉文件)以及錯誤檢查。