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;
}
}
J'essaie de créer une simple boucle for qui vérifie les drapeaux pour recréer une commande wc dans un terminal de type UNIX. Quelqu'un sait quoi de neuf avec la boucle for? Je reçois un défaut de segmentation dessus. Il y a plus de code mais j'en poste juste une partie.C Erreur de segmentation pour la boucle
Merci d'avance.
OH Je suis un idiot. Je pense avoir découvert le problème après quelques secondes. Je fais juste ./wc -w nom de fichier et donc la boucle vérifie au-delà des limites. –
Ne pas oublier les arguments du printf: vous utilisez% s sans argument. Next segfault possible – ckruse