面试题答案
一键面试#include <stdio.h>
int main() {
FILE *inputFile, *outputFile;
int num;
char str[100];
// 打开输入文件
inputFile = fopen("input.txt", "r");
if (inputFile == NULL) {
perror("无法打开输入文件");
return 1;
}
// 打开输出文件
outputFile = fopen("output.txt", "w");
if (outputFile == NULL) {
perror("无法打开输出文件");
fclose(inputFile);
return 1;
}
while (fscanf(inputFile, "%d %99s", &num, str) != EOF) {
// 处理数据,这里简单示例为将整数加倍
num *= 2;
// 写入到输出文件
fprintf(outputFile, "处理后的整数: %d, 字符串: %s\n", num, str);
}
// 关闭文件
fclose(inputFile);
fclose(outputFile);
return 0;
}
在上述代码中:
- 首先使用
fopen
函数分别打开输入文件和输出文件。如果打开失败,使用perror
打印错误信息并结束程序。 - 使用
fscanf
从输入文件中按格式读取整数和字符串,每次读取一行中的一个整数和一个字符串。 - 对读取到的整数进行简单处理(这里是加倍)。
- 使用
fprintf
将处理后的整数和原始字符串按特定格式写入输出文件。 - 最后使用
fclose
关闭输入和输出文件。
注意确保当前目录下存在input.txt
文件,且文件格式符合每行一个整数和一个字符串,以空格分隔。程序运行后会在当前目录下生成output.txt
文件。