修改此程序段,并给这段代码添加中文注释,要求使输入文件名时不需要加.txt后缀且不必再在输入文件名前输入回车:// 读取文件函数 void read_file(FILE *fp, char *fname) { char ch; // 获取用户输入的文件名 printf("\t请输入读取的文件名:\n\t"); // 读取字符串 fgets(fname, MAX_LEN, stdin); fgets(fname, MAX_LEN, stdin); char *pos; // 查找'\n'字符 if ((pos = strchr(fname, '\n')) != NULL) // 将'\n'替换为'\0' *pos = '\0'; // 打开文件并判断是否打开成功 if ((fp = fopen(fname, "r")) == NULL) { printf("\t不能打开文件!\n"); exit(0); } // 逐个读取文件中的字符并输出 printf("\t"); while ((ch = fgetc(fp)) != EOF) { putchar(ch); } printf("\t\n\n"); fclose(fp); }
时间: 2024-03-30 21:36:49 浏览: 51
delay.rar————msp432延时程序,可修改对应mpu频率
// 读取文件函数
void read_file(FILE *fp, char *fname) {
char ch;
// 获取用户输入的文件名
printf("\t请输入读取的文件名:\n\t");
// 从标准输入中获取文件名
fgets(fname, MAX_LEN, stdin);
// 查找'\n'字符并替换为'\0'
char *pos;
if ((pos = strchr(fname, '\n')) != NULL)
*pos = '\0';
// 添加后缀名".txt",如果没有输入
if (!strstr(fname, ".txt"))
strcat(fname, ".txt");
// 打开文件并判断是否打开成功
if ((fp = fopen(fname, "r")) == NULL) {
printf("\t不能打开文件!\n");
exit(0);
}
// 逐个读取文件中的字符并输出
printf("\t");
while ((ch = fgetc(fp)) != EOF) {
putchar(ch);
}
printf("\t\n\n");
fclose(fp);
}
阅读全文