gpt4 book ai didi

从 C 中的不同文件调用方法

转载 作者:行者123 更新时间:2023-11-30 21:19:46 25 4
gpt4 key购买 nike

因此,在类里面,我们将讨论函数,但我对如何在多个文件中调用多个函数有点迷失。例如,在一个项目中,除了 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com