【发布时间】:2011-03-19 14:10:31
【问题描述】:
我有一个 C 程序,它将一个参数作为输入,如果参数与可执行文件中的字符串匹配,它将返回 1,否则返回 0。可执行文件名为 prg1。我在一个名为inputs.txt 的文件中有一些输入字符串。我想从输入文件中获取这些字符串,并在 C 程序中使用每个字符串调用 prg1。
我已经尝试了以下代码,但它不起作用。没有分段错误,但是当我调用 prg1 时它会执行,因为 prg1 中的 printf() 语句正在工作,我可以看到输出。它将发现的变量更改为0我不能改变prg1。因为我朋友给了我那个程序的可执行文件,而不是源代码。头文件是stdio.h和string.h
int main()
{
FILE *fk;
char text[80],inp[16],test[50]={"./prg1 "};
int found=100;
fk=fopen("inputs.txt","r");
while((fscanf(fk,"%s",inp))!=EOF)
{
strcat(test,inp);
found=system(test);
if(found==1)
{
printf("\nAnswer is : %s",inp);
break;
}
strcpy(test,"./prg1 ");
}
fclose(fk);
return 0;
}
我的代码有什么问题?
【问题讨论】:
-
请下次包含您已包含的库,以及具体的错误消息。对于其他人:一旦编译并运行它就会以
Segmentation Fault退出。 edit 哎呀,如果你没有inputs.txt。确保在测试时这样做!
标签: c