Pagina 1 di 1

frasi da console

MessaggioInviato: 9 dic 2012, 21:15
da joy
Salve io ho scritto il seguente codice per avere come ingresso della funzione delle frasi date da terminal. Il codice va bene, ma vorrei inviare più frasi e quindi ho inserito un ciclo for mettendo anche il carattere \t per separare le varie frasi. Purtroppo non me le separa e non capisco il perché! Inoltre avevo provato ad usare invece di un'array una matrice per avere una frase per riga, che sarebbe MOLTO meglio! Però anche lì c'è qualcosa che non va. Il codice che ho scritto io è questo, qualcuno potrebbe darmi un suggerimento?

Codice: Seleziona tutto
#include <stdio.h>
#include <stdlib.h>


char* prova () {
char *s = NULL;
char ch;
int i=0;
unsigned int size = 0;
// Finché leggo un carattere da input e questo
// carattere è diverso da '\n'...
for (i=0;i<5;i++){
while ((ch = getchar()) != '\n') {
// Creo un nuovo elemento in s e piazzo in coda
// il nuovo carattere
s = (char*) realloc( s, ++size );
s[size-1] = ch;
s[size+1] = '\t';
}

// Termino la stringa correttamente con un '\0' in coda
if ( size > 0 )
s[size] = 0;

}
return s;
}

int main() {
char* s = prova();
printf ("Hai inserito: %s\n", s);
free(s);
return 0;
}

Re: frasi da console

MessaggioInviato: 29 dic 2012, 22:48
da teo1998
se intendo mandare a capo dopo ogni frase devi inserire /n (newline)