Oppure

Loading
12/05/13 7:27
spaces
Avevo provato anch'io la tua soluzione ma mi dava il seguente errore:
invalid conversion from `char*' to `char'
nella riga:

 c=testo[i]; 


Il testo l'ho dichiarato come testo[10][10] ovvero 10 stringhe da 10 caratteri massimi per cui non mi fa inserire all'interno di C le lettere. Se invece pongo testo semplicemente come testo[100] ho un problema sulla gets per prenderlo in input in quanto non mi dà la possibilità di scrivere la stringa durante l'esecuzione del programma.
Ultima modifica effettuata da spaces 12/05/13 7:27
aaa
12/05/13 15:40
ale.gatti96
Prova con:
char testo[100];
[...]
fgets(testo,100,stdin);
[...]

Dovrebbe leggere finché non raggiunge 100 caratteri oppure dai invio.

P.S. Basta cercare su google it.wikibooks.org/wiki/C/Variabili,_operatori_e_costanti/…
aaa
13/05/13 5:56
spaces
La fgets legge i caratteri da file, i miei li prendo in input normalmente non da un file.
aaa
13/05/13 12:59
ale.gatti96
fgets legge da un file, ma passandogli come parametro "stdin" vede la tastiera come un file e legge da essa.

Non so che problema da a te, ma a me questo codice funziona sia con gets che con fgets:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main(){
  char testo[100];
  fgets(testo,100,stdin);
  //gets(testo);
  printf("%s",testo);
  getch();
  return 0;
}
aaa
13/05/13 13:07
spaces
Non mi dà nessun errore in compilazione ma quando lancio il programma e inserisco la scelta del menù per l'input del testo non mi permette di scrivere nulla e rilancia nuovamente il menù.
aaa
13/05/13 13:14
ale.gatti96
Prova ad eseguire il codice che ho appena postato.
aaa
13/05/13 13:16
spaces
Lo esegue correttamente eppure non ci sono differenze con il mio.
aaa
13/05/13 13:19
ale.gatti96
Posta tutto quello che hai scritto
aaa