Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

frasi da console

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

1
voti

[1] frasi da console

Messaggioda Foto Utentejoy » 9 dic 2012, 21:15

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;
}
Avatar utente
Foto Utentejoy
15 4
 
Messaggi: 48
Iscritto il: 11 ago 2012, 19:54

0
voti

[2] Re: frasi da console

Messaggioda Foto Utenteteo1998 » 29 dic 2012, 22:48

se intendo mandare a capo dopo ogni frase devi inserire /n (newline)
Avatar utente
Foto Utenteteo1998
25 3
New entry
New entry
 
Messaggi: 94
Iscritto il: 22 ago 2012, 16:09


Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 32 ospiti