cin et scanf !!! [C] - Programmation
Marsh Posté le 15-03-2001 à 05:58:13
C'est normal, cin par defaut s'arrete au premier blanc rencontre (et non extrait). Donc pour demarrer, tu peux d'abord sauter les blanc en debut de texte (cin>>ws>>Titre; ). cin va te mettre tout le texte jusqu'au prochain blanc (ou fin de ligne), que tu peux tester par isspace(cin.peek()) et alors, tu peux boucler...
ou plus simplement, tu peux utiliser cin.getline(...)
A+,
[edit]--Message édité par gilou--[/edit]
Marsh Posté le 15-03-2001 à 14:23:27
Il y a aussi fgets(buffer,size,stdin) (du genre de scanf mais il ne s'arrête qu'au \n et pas aux espaces) si tu veux un truc C (sans ++)
[edit]--Message édité par antp--[/edit]
Marsh Posté le 15-03-2001 à 14:29:39
ou simplement gets()
Marsh Posté le 16-03-2001 à 16:52:41
jupiler a écrit a écrit : ou simplement gets() |
Je n'aime pas gets() pcq il ne teste pas la longueur du buffer à ma connaissance, c'est donc une source de crash. Par contre fgets() sur stdin on doit lui spécifier la longueur maximale du buffer.
Marsh Posté le 15-03-2001 à 04:10:02
salut,
quand j'utilise cin ou scanf,
le texte entré arrete après le premier espace
par exemple:
cin >> Titre; // et je tape : fuck you
cout << Titre; // affiche seulement : fuck
est-ce que ca vous est déjà arrivé?
vous savez pourquoi ca fait ca?
merci d'avance...