int main(int argc, char **argv){
// If the user does not have the right amount of arguments exit the program and display message
if(!(argc >= 2)){
printf("Usage: %s -l -c -w -L <filenames>");
exit(-1);
}
size_t iscFlag = 0;
size_t islFlag = 0;
size_t iswFlag = 0;
size_t isLFlag = 0;
FILE *src;
puts("Work work");
// For loop that checks for all the flags
int i;
for(i = 1; i < 5; i++){
if(strcmp(argv[i], "-c") == 0){
iscFlag = 1;
}else if(strcmp(argv[i], "-l") == 0){
islFlag = 1;
}else if(strcmp(argv[i], "-w") == 0){
iswFlag = 1;
}else if(strcmp(argv[i], "-L") == 0){
isLFlag = 1;
}
}
我試圖讓for循環來檢查標誌重新在UNIX型終端wc命令的簡單。任何人都知道for循環是怎麼回事?我得到了一個分段錯誤。還有更多的代碼,但我只是發佈了一部分代碼。ç段錯誤的for循環
在此先感謝。
OH我是個白癡。我想我發現問題在發佈後的幾秒鐘內。我只是在做./wc -w文件名,所以循環檢查超出範圍。 –
不要忘記printf的參數:你使用%s而不帶參數。下一個可能的段錯誤 – ckruse