我有一个正在编写的程序,我需要在配置文件中读取。如果你不能通过它的编写方式来判断它是另一个程序的占位符,它会在其内存空间中打开第二个程序。我有readline函数全部设置,但我的“主”操作只支持参数的变量(除非我不正确),像这样:“arg1 arg2 arg3 ...”我在网上看到像'strcat'的东西和其他人一样,但由于我不熟悉C,这些似乎只添加了一个字符。我需要的解决方案是:
char args[ 10 ];
FILE *fp=fopen("file.cfg","r");
void readLine(FILE* file, char* line, int limit)
{
int i;
int read;
read = fread(line, sizeof(char), limit, file);
line[read] = '\0';
for(i = 0; i <= read;i++)
{
if('\0' == line[i] || '\n' == line[i] || '\r' == line[i])
{
line[i] = '\0';
break;
}
}
if(i != read)
{
fseek(file, i - read + 1, SEEK_CUR);
}
}
int main(void)
{
_spawnl( P_OVERLAY, "prog1.exe", "prog1.exe", args, NULL );
return 0;
}
'int main(void)'中的'args'变量需要是= line [i]的变量。 除非完全重写是不必要的。
另外b4你激怒我,我不想在主循环,因为这个程序只是调用另一个,然后死。一个循环可能会使它调用同一个程序的无限数量,而且......那将是不好的。提前谢谢!