我正在创建一个 C99 程序,我需要一些帮助来摆脱我的代码的一点冗余。我想将以下代码转换为函数的两次调用,但我不知道该怎么做。
我想读取两个文件(每个文件有 15 个入口)并将它们的内容放入两个数组中。问题是这些数组属于不同的数据类型。
这是我所拥有的:
typedef char string[30];
int
_vInt[15];
string
_vString[15];
FILE
*_fInt,
*_fString;
int main(){
...
for(int i = 0; !feof(_fInt) && i < 15; ++i){
fscanf(_fInt, "%d", &_vInt[i]);
...
}
for(int i = 0; !feof(_fString) && i < 15; ++i){
fscanf(_fString, "%s", _vString[i]);
...
}
...
}
所以,我不想用这个for
两次。我宁愿调用一个函数两次:
readFile(_fInt, "%d", _vInt);
readFile(_fString, "%s", _vString);
问题是我不知道函数的原型应该如何,也不知道应该如何使用它。
是的,我可以使用丑陋的void *
解决方案......