salve, ho una stringa...composta da 0123456789
acquisita con fgets( Stringa, 10, stdin );
se voglio stampare i caratteri singolarmente mi stampa strani simboli...tipo ascii come risolvo?
salve, ho una stringa...composta da 0123456789
acquisita con fgets( Stringa, 10, stdin );
se voglio stampare i caratteri singolarmente mi stampa strani simboli...tipo ascii come risolvo?
Innanzitutto fgets memorizza nel buffer anche il carattere '\n' (ma solo se c'è sufficiente spazio) e di seguito memorizza il carattere nullo. Quindi il buffer dovrebbe essere lungo come minimo 11 caratteri.Originariamente inviato da Vincent
salve, ho una stringa...composta da 0123456789
acquisita con fgets( Stringa, 10, stdin );
se voglio stampare i caratteri singolarmente mi stampa strani simboli...tipo ascii come risolvo?
codice:#include <stdio.h> #include <string.h> int main (void) { char buf[12], *p; size_t i, l; fgets (buf, sizeof (buf), stdin); if ((p = strchr (buf, '\n')) != NULL) *p = '\0'; l = strlen (buf); for (i = 0; i < l; i++) printf ("%c\n", buf[i]); return 0; }
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
come faccio a fare in modo che nella stringa possa inserire solo lettere, e non numeri o simboli ad eccetto della chiocciola?
correggetemi se sbaglio !
se non erro fscanf va come la scanf..quindi
scanf("%[ aAbBcC@012]", &stringa);
questa inserisce nella stringa solo i caratteri inclusi tra parentesi quadre scartando automaticamente tutti gli altri ! (ricorda che però il buffer della tastiera viene cmq intasato...e dovrai provvede con qualche tecnica a pulirlo)
fscanf(ptrFILE, "%[ aAbBcC@012]", &stringa);
se sbaglio correggetemi !
ciau![]()
Se una funzione riceve come argomento un puntatore di puntatore di puntatore quando la invochi ricordati che puo ricevere o un puntatore di puntatore di puntatore o l'indirizzo di un puntatore di puntatore
ho bisogno di creare una funzione a parte...infatti non posso usare scanf...nel mio progetto!
Per questo ascquisisco le stringhe con fgets(.....), e quindi devo creare un funzione che presa in ingresso una stringa, controlli che in questa ci siano solo lettere, spazi o al massimo una @. numeri, simbili o caratteri strani non sono consentiti.
Ti ringrazio comunque...
Potresti usare le funzioni della libreria string.h e chiedere
isdigit() è un numero?
isalpha() è un carattere?
isadigit() è un numero o un carattere?
giocando con i valori 0 e !0 restituiti da queste funzioni!
scorri tutta la stringa tramite un puntatore fin quando non arrivi a "\0"...
altri modi ora nn me ne vengono....ciau![]()
prova e fai sapere come va ...
Se una funzione riceve come argomento un puntatore di puntatore di puntatore quando la invochi ricordati che puo ricevere o un puntatore di puntatore di puntatore o l'indirizzo di un puntatore di puntatore