【发布时间】:2017-02-16 10:49:29
【问题描述】:
所以,我有我的代码所在的 main.c 文件,以及我想要进行一些计算的外部 calc.c 文件。我在 main.c (calc.h) 中定义了一个头文件,并且应该在某个时候简单地调用函数 calc.c。在 main.c 中,我通过终端有 3 个输入,我们称它们为 a、b 和 c,这些是一些数字。根据我作为输入提供的数字,我创建了一个保存在“char 文件名”中的文件名(例如 a5b3c7)。然后在 main.c 我做一些计算并在这个“a5b3c7”文件中写一个值表。所以它是一个值数组。 现在,在写下表中的所有值并关闭文件“a5b3c7”之后,我想调用 calc.c 函数并对创建的表中的数字进行一些计算。我需要将一个 int 和它应该使用的文件名作为参数传递。
问题: 我的 calc.c 函数应该有 2 个输入,一个是“int”,另一个是“char”。 在头文件 calc.h 我有:
int calc(int i, char filename);
我是否应该将 calc.c 函数启动为
int calc(int i, char filename){
FILE * pointer;
int ...;
double ...;
pointer = fopen(filename, "r");
.
.
.
}
?函数和参数的类型是否定义良好? 我现在如何从主程序调用这个函数? 我应该写类似的东西
int main (void) {
...
calc(i, filename);
...
}
在尝试让它工作时,我遇到了不同的错误,例如“预期的 'char' 但参数的类型是 'char *'、“传递 'fopen' 的参数 1 使指针从整数而不进行强制转换 [默认启用]” , "预期为 'const char * restrict' 但参数的类型为 'char'"...
感谢帮助,我还在学习中;)
【问题讨论】:
-
除了一个错误:在 C 中,字符串是
char*,而不是char。当然,这句话的含义不能用这几句话来形容,但您可以轻松查找“C 中的字符串”材料。
标签: c function header-files