因此,在类里面,我们将讨论函数,但我对如何在多个文件中调用多个函数有点迷失。例如,在一个项目中,除了 header 之外,我还有三个文件,一个从文本文件中获取变量,一个从这些变量运行各种计算,最后一个将所有内容组合在一起的主文件。
标题.h
#include <stdio.h>
#include <ctype.h>
main.c
#include "header.h"
void main(){
FILE *f, *o;
int a, b, c, sum;
while(getInt() != EOF){
fprintf(calc());
}
输入.c:
int getInt(FILE *f, int a, int b, int c){
fscanf(f, "%i %i %i", a, b, c);
}
计算.c:
int Calc(){
sum = a+b+C;
}
我主要遇到麻烦的部分是主文件中 calc() 的部分。这是调用该方法并将其打印到文件的正确方法吗?或者,还有更好的方法?另外,我是否需要将 getInt 导入到 calc 中,或者我有什么好处,因为 main 应该接受这两个函数并使它们工作?感谢任何人都可以给我提供的任何见解帮助。
最佳答案
也许是这样的
标题.h
#ifndef HEADER_H
#define HEADER_H
#include <stdio.h>
#include <stdlib.h>
int getInt(FILE *f, int *a, int *b, int *c);
int calc(int a, int b, int c);
#endif
main.c
#include "header.h"
int main(void){
FILE *f, *o;
int a, b, c;/* sum; */
f = fopen("input.txt", "r");
o = fopen("output.txt", "w");
if(!f || !o){
fprintf(stderr, "Failed to open the file.\n");
exit(EXIT_FAILURE);
}
while(getInt(f, &a, &b, &c) != EOF){
fprintf(o, "%d\n", calc(a,b,c));
}
fclose(o); fclose(f);
}
输入.c:
#include "header.h"
int getInt(FILE *f, int *a, int *b, int *c){
return fscanf(f, "%i %i %i", a, b, c);
}
计算.c:
int calc(int a, int b, int c){
return a + b + c;
}
关于从 C 中的不同文件调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46537029/