gilou Modérateur Modosaurus Rex | ded jay a écrit a écrit :
je declare un string par defaut :
char string[] = "c un string";
pui je voudrai le modifié par un autyre string d'un fichier
fscanf (stream,"%s",&string);
ce systeme fonctionne si il n'y a pa d'espace ds le string du fichier, si il y a un espace, il me nie le reste du string donc je sui obligé d'écrire
fscanf (stream,"%30s",&string);
et ce pour lui expliker ke je veux 30 characteres, mé là encore il merde si il ya un espace, donc g trouvé une troisieme possibilité
fscanf (stream,"%[^\n]s",&string);
et ce pour lui dire k'il doit prendre ts les characteres jusk'o \n et une fois de plus il merde
g essayé d variantes %30[^\n]s
%[\n]
mé ca merde tjs ya pa moyen d'avoir un string complet
PLZ HELP ME
|
fscanf ne foire pas, mais marche exactement comme prévu:
fscanf découpe l'input (pour un %s) en chaînes de caractères séparées par un/des blancs.
Avant de raler il faudrait peut etre lire la doc.
"c un string" en input sera considere comme constitue de 3 chaines, "c" "un" et "string". C'est d'ailleuurs exactement selon ce principe que les arguments de main() sont traites.
A+, [jfdsdjhfuetppo]--Message édité par gilou--[/jfdsdjhfuetppo] ---------------
There's more than what can be linked! -- Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- Il ne faut plus dire Sarkozy, mais Sarkozon -- (╯°□°)╯︵ ┻━┻
|