PDA

View Full Version : scanf in C....


marcus81
16-02-2002, 16:58
Con la funzione di liberia scanf si dovrebbe potere inserire una stringa in cui sono presenti spazi bianchi mettendo come specifica

%[^\n]

non capisco perkč non mi funziona in questo modo...
praticamente durante l'esucuzione del programma al momento di inserire i dati va avanti e non mi fa inserire nulla...:(

Come posso fare???

cionci
16-02-2002, 19:11
Mai usato...ho sempre usato gets...

marcus81
17-02-2002, 11:45
Ah grazie...io ricordavo che con la gets non si potevano introdurre stringhe con spazi bianchi...ho dato un occhiata al manuale e si puň fare...adesso facicio le modifiche....ciao cionci;)

cionci
17-02-2002, 12:26
Ciao :)

marcus81
18-02-2002, 11:24
No, ho provato la gets ma da problemi in fase di inserimento...praticamente non mi fa inserire il primo campo forse perkč si tratta di membri di una struttura....
Qualcuno sa come si fa ad ottenere stringhe con spazi inclusi con la funzione scanf???
Ripeto ho provato con [^\n]...ma non vuol saperne di funzionare!
Come devo fare???:confused:

cionci
18-02-2002, 11:51
La gets deve funzionare anche se la destinazione č parte di una struttura!!!

#include <stdio.h>

void main( void )
{
char line[81];

printf( "Input a string: " );
gets( line );
printf( "The line entered was: %s\n", line );
}

L'importante č che gli venga passato un puntatore ad un'area di memoria giŕ allocata...

marcus81
18-02-2002, 14:13
Bho! non capisco perkč in alcune zone funziona in altre no...:confused: ci sarŕ qualcosa che non va...cmq grazie

M3xican
20-02-2002, 00:45
Nn si capisce molto bene cosa tu voglia fare... se vuoi assumere in input 1 stringa che contiene degli spazi e contenerla in 1 unico array devi fare due letture e poi una concatenzione, ovvero:



scanf("%s %s",str1,str2);
strcat(str1,str2);



Quello ke hai scritto tu nn l'ho mai visto...