#include<stdio.h>
int main() {
FILE* fp = fopen("t.txt","w");
if (fp == NULL) {
printf("打开失败");
return -1;
}
char* buf[4] = { "a","B","C","D" };//为什么必须是char *呢?不能是char buf[4]呢
//因为,数组定义为 char buf[4] 时,它就不再是字符串的数组,
//而只是一个含有四个 char 类型的单一数组。
//在这种情况下,buf[i] 将是 char 类型的值,而非字符串(指向字符的指针),这不能直接被 fputs 函数使用,
//因为 fputs 期望其第一个参数是一个以 \0 结尾的字符串,也就是 char* 类型。
for (int i = 0; i < 4; i++) {
fputs(buf[i], fp);
putc('\n', fp);
}
fclose(fp);
}
#include<stdio.h>
int main() {
// 定义一个含有4个字符的二维数组, 每个字符后面都有一个空字节 '\0', 组成字符串
char buf[4][2] = {
{'A', '\0'},
{'B', '\0'},
{'C', '\0'},
{'D', '\0'}
};
// 打开文件,准备写入
FILE* fp = fopen("t.txt","w");
if (fp == NULL) {
printf("打开失败");
return -1;
}
// 循环通过fputs将每个字符写入文件,然后写入一个换行符
for (int i = 0; i < 4; i++) {
fputs(buf[i], fp); // buf[i] 是指向第 i 个字符串的指针
putc('\n', fp);
}
// 关闭文件
fclose(fp);
return 0;
}