È consentito utilizzare scanf(" ")
senza argomenti aggiuntivi per ignorare gli spazi bianchi iniziali?
Sto usando getchar()
per leggere i caratteri di una parola e voglio ignorare gli spazi bianchi prima della parola (spazi bianchi dopo sono usati per controllare la fine della parola).
Il codice è il seguente, è corretto?scanf senza argomenti aggiuntivi in C
char *read_word() {
int size = 2;
int char_count = 0;
char *s;
char ch;
s = mem_alloc(size);
scanf(" ");
while ((ch = getchar()) != EOF) {
if (char_count >= size) {
s = mem_realloc(s, size++);
}
if (ch == ' ' || ch == '\n') {
s[char_count] = '\0';
break;
}
s[char_count++] = ch;
}
return s;
}
Assolutamente ..... – DevSolar
parte: 'mem_realloc (s, dimensioni ++);' -> 'mem_realloc (s, ++ size); ' –
Nota: il codice può restituire' s' che manca un carattere nullo. – chux