请编写函数,将大写字母写入文件中。
void WriteLetter(FILE *f, int n);
说明:参数 f 为文件指针,n 为字母数目(1 ≤ n ≤ 26)。函数将前 n 个大写英文字母写入 f 所指示的文件中。
#include <stdio.h>
#include <stdlib.h>
void WriteLetter(FILE *f, int n);
int main()
{
FILE *f;
int n;
f = fopen("Letter.txt", "w");
if (!f)
{
puts("文件无法打开!");
exit(1);
}
scanf("%d", &n);
WriteLetter(f, n);
if (fclose(f))
{
puts("文件无法关闭!");
exit(1);
}
puts("文件保存成功!");
return 0;
}
/* 你提交的代码将被嵌在这里 */
3
文件保存成功!
打开“Letter.txt”文件,查看文件内容:
Letter.txt
ABC
代码长度限制
16 KB
时间限制
100 ms
内存限制
64 MB
C程序如下:
void WriteLetter(FILE *f, int n) {
// 打开文件指针f指向的文件
// "w"表示以写入模式打开文件,如果文件不存在则创建文件
// 如果文件无法打开或创建,则输出错误信息并退出程序
if (f == NULL) {
puts("文件无法打开!");
exit(1);
}
// 循环n次,每次写入一个大写字母
for (int i = 0; i < n; i++) {
// 将字母'A'加上i的偏移量得到大写字母的ASCII码值
// 然后将该值转换为字符类型并写入文件
fputc('A' + i, f);
}
// 关闭文件指针f指向的文件
// 如果文件无法关闭,则输出错误信息并退出程序
if (fclose(f)) {
puts("文件无法关闭!");
exit(1);
}
}
在这个示例代码中,WriteLetter
函数接收两个参数:一个文件指针f
和一个整数n
,表示要写入文件的字母数目。函数使用循环将前n
个大写字母依次写入文件。在每次循环中,将字母'A'加上当前的循环变量i
的偏移量,得到大写字母的ASCII码值,然后使用fputc
函数将该值转换为字符类型并写入文件。最后,使用fclose
函数关闭文件指针f
指向的文件。如果文件无法打开或关闭,则输出错误信息并退出程序。在主函数中,先打开一个名为"Letter.txt"的文件,然后从标准输入读取一个整数n
,调用WriteLetter
函数将前n
个大写字母写入文件,最后关闭文件并输出提示信息。