C中的小写字符到大写字符并写入文件
Lowercase characters to Uppercase characters in C & writing to file
我正在从一个文件中读取内容以将其读入 C 中的 char 数组。如何将文件中的所有小写字母更改为大写字母?
这是一个可能的算法:
- 打开一个文件(我们称之为 A)- fopen()
- 打开另一个文件进行写入(暂且称之为 B)- fopen()
- 读取A的内容——getc()或fread();随心所欲
- 将您阅读的内容大写 - toupper()
- 将 4 步的结果写入 B - fwrite() 或 fputc() 或 fprintf()
- 关闭所有文件句柄 - fclose()
以下为C语言编写的代码:
#include <stdio.h>
#include <ctype.h>
#define INPUT_FILE "input.txt"
#define OUTPUT_FILE "output.txt"
int main()
{
// 1. Open a file
FILE *inputFile = fopen(INPUT_FILE, "rt");
if (NULL == inputFile) {
printf("ERROR: cannot open the file: %s\n", INPUT_FILE);
return -1;
}
// 2. Open another file
FILE *outputFile = fopen(OUTPUT_FILE, "wt");
if (NULL == inputFile) {
printf("ERROR: cannot open the file: %s\n", OUTPUT_FILE);
return -1;
}
// 3. Read the content of the input file
int c;
while (EOF != (c = fgetc(inputFile))) {
// 4 & 5. Capitalize and write it to the output file
fputc(toupper(c), outputFile);
}
// 6. Close all file handles
fclose(inputFile);
fclose(outputFile);
return 0;
}
我正在从一个文件中读取内容以将其读入 C 中的 char 数组。如何将文件中的所有小写字母更改为大写字母?
这是一个可能的算法:
- 打开一个文件(我们称之为 A)- fopen()
- 打开另一个文件进行写入(暂且称之为 B)- fopen()
- 读取A的内容——getc()或fread();随心所欲
- 将您阅读的内容大写 - toupper()
- 将 4 步的结果写入 B - fwrite() 或 fputc() 或 fprintf()
- 关闭所有文件句柄 - fclose()
以下为C语言编写的代码:
#include <stdio.h>
#include <ctype.h>
#define INPUT_FILE "input.txt"
#define OUTPUT_FILE "output.txt"
int main()
{
// 1. Open a file
FILE *inputFile = fopen(INPUT_FILE, "rt");
if (NULL == inputFile) {
printf("ERROR: cannot open the file: %s\n", INPUT_FILE);
return -1;
}
// 2. Open another file
FILE *outputFile = fopen(OUTPUT_FILE, "wt");
if (NULL == inputFile) {
printf("ERROR: cannot open the file: %s\n", OUTPUT_FILE);
return -1;
}
// 3. Read the content of the input file
int c;
while (EOF != (c = fgetc(inputFile))) {
// 4 & 5. Capitalize and write it to the output file
fputc(toupper(c), outputFile);
}
// 6. Close all file handles
fclose(inputFile);
fclose(outputFile);
return 0;
}