我一直在浏览论坛,但我没有找到适用于我情况的这个问题的答案。我正在尝试使用'sort'(unix)进行系统调用,但是,我收到一条错误消息,“标签只能是语句的一部分,而声明不是语句。” 这是导致错误的代码。
int processid;
switch(processid = fork()){ //establishing switch statement for forking of processes.
case -1:
perror("fork()");
exit(EXIT_FAILURE);
break;
case 0:
char *const parmList[] = {"usr/bin/sort","output.txt","-o","output.txt",NULL}; //execv call to sort file for names.
break;
default:
sleep(1);
printf("\nChild process has finished.");
}
在系统调用中,我试图按字母顺序对文件进行排序,以便按名称简单地收集类似的术语。
我傻眼了,因为这个错误发生在一个 char * const 中,其中包含我的 execv 系统调用的命令。此EXACT switch 语句适用于不同的程序文件。有人能发现我错过了什么吗?谢谢