用C语言编写一个程序,通过输入文件名,找到该文件,打开该文件,读取该文件中的整数,计算整数之和,并打印文件名和整数之和,假设一个文件将包含100个整数。创建一个函数来处理打开、读、和、打印、关闭。 opendir()需要一个启动目录。使用当前的工作目录作为起始目录
时间: 2024-05-05 09:20:34 浏览: 49
好的,我听懂了,并且不会透露您的要求。下面是用C语言编写的程序来实现您的需求:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_FILENAME_LENGTH 256
#define MAX_INTEGER_COUNT 100
void processFile(const char *filename);
int main() {
char filename[MAX_FILENAME_LENGTH];
printf("请输入文件名:");
scanf("%s", filename);
processFile(filename);
return 0;
}
void processFile(const char *filename) {
FILE *file;
int integers[MAX_INTEGER_COUNT];
int sum = 0;
int i, n;
// 打开文件
file = fopen(filename, "r");
if (file == NULL) {
printf("无法打开文件 %s。\n", filename);
return;
}
// 读取整数
for (i = 0; i < MAX_INTEGER_COUNT; i++) {
if (fscanf(file, "%d", &integers[i]) != 1) {
break;
}
}
n = i;
// 计算整数之和
for (i = 0; i < n; i++) {
sum += integers[i];
}
// 打印文件名和整数之和
printf("%s 中的整数之和为 %d。\n", filename, sum);
// 关闭文件
fclose(file);
}
```
通过以上程序,您可以输入文件名,并得到该文件中100个整数之和。同时,该程序使用了一个 `processFile` 函数来处理打开、读、和、打印、关闭文件的过程。该函数封装了文件处理的细节,使得主程序更加简洁、直观。同时,如果您需要处理多个文件,可以通过循环调用该函数来实现。
阅读全文