int main(int argc,const char * argv [])AND文件输入

时间:2014-03-30 18:19:26

标签: c

我从未使用过,

  

int main(int argc,const char * argv [])

对于大多数程序,我通常只使用两个单独的C文件在终端中编译(使用mac),例如......

  

gcc functions.c main.c

但现在我需要使用int main(int argc,const char * argv [])...我只是不知道我是否正确使用它。下面是一些代码...

我在命令行编译......

  

gcc main.c input.txt

终端告诉我......

  

ld:文件太小,不适用于架构x86_64

     

collect2:ld返回1退出状态

注意我的功能正常工作(我在不使用文件输入的情况下进行了测试)并且在main.c中也是...我只是没有在这篇文章中包含它们。此外,node只是链接列表的基本节点结构。

int main(int argc, const char * argv[])
{
FILE *input;


input = fopen(argv[1], "r");


node *list = malloc(sizeof(node));
char *string = malloc(sizeof(char)*1023);

fscanf(input, "%s", string);

//convert a string to linked list
list= sTol(string);

//print the linked list
printList(list);

return 0;

} // end main()

我完全错了吗?输入只包含一行,表示“你好”。我尝试做的就是将其读入我的程序并打印出来以验证我是否正确阅读了我的输入。

1 个答案:

答案 0 :(得分:4)

这与运行

的perl脚本或shell脚本不同
perl main.pl input.txt

使用像C这样的编译语言,首先将程序编译为可执行文件

gcc main.c -o myprogram

然后使用输入文件

运行可执行文件
./myprogram input.txt