Salut
J'ai un souci avec strtok et je pense que sscanf ne resoudra pas mon probleme. Je m'explique:
J'ai fait un progamme qui interprete la ligne de commande avec un tas d'option.
Parmi les options je dis par exemple -a "bla bla" la chaine entre guillemet est alors stockée pour etre réutilisée. Sans les guillemet a chaque espace argv serai incrementer. La c'est la chaine entre les guillemets qui est stockée "pour un seul argv".
Ce que je veux faire:
Je lis une chaine de caractere dans un fichier. Les elements de cette chaine de caractere seront ensuite utilisés comme argument de ligne de commande.
ce bout de code marche bien mais le probleme c'est que mon séparateur est un espace et que dans ma ligne de commande j'ai un truc du genre "bla bla"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 fgets(line,BUFFSIZE,theFile); token = strtok(line,seps); i = 1; while(token != NULL) { inArgv[i] = token; token = strtok(NULL, seps); inArgc = i+1; i++; }
je voudrai qu'il prenne ça comme une seule chaine de caractere mais il decompose "bla d'un coté et bla" de l'autre.
Comment faire pour qu'en analysant ma chaine il interprete le premier guillemet comme le début d'une chaine de caractere comme c'est le cas dans la ligne de commande.
J'espere que mon probleme est clair et merci de votre aide
Partager