Salve a tutti!
All'interno di un progetto più grande ho bisogno di filtrare l'input ed eliminare eventuali segni di punteggiatura.
Ho pensato di utilizzare la funzione 'ispunct' ed in effetti funziona correttamente.
Il compilatore però mi restituisc eil seguente warning:
gcc -Wall "test.c" -o "test" (nel direttorio: /home/ananke/Scrivania)
test.c: In function ‘input’:
test.c:10:3: warning: implicit declaration of function ‘ispunct’ [-Wimplicit-function-declaration]
Compilazione terminata correttamente.
Questo non compromette l'esecuzione ma mi piacerebbe capire come mai incontri quetso warning. Googolando ho visto che, in diversi siti quali ad esempio indichino che la funzione 'ispunct' fa parte di <stdio.h>. Eppure anche avendolo incluso mi da il warning.
Cos'altro è necessario che includa?
Grazie resto in attesa
Parte di codice incriminata:
#include <stdio.h>
#include <string.h>
void input(char *data) {
int i, ii;
printf("\n\t>>> ");
fgets(data,1024,stdin);
data[strlen(data)-1] = '\0';
for(i=0;i<strlen(data);i++) {
if(ispunct(data[i])) {
data[i] = data[i + 1];
for(ii=i+1;ii<strlen(data);ii++)
data[ii] = data[ii + 1];
i--;
}
}
}
int main() {
char data[1024];
while(1) {
input(data);
if (!strcmp(data, "quit"))
break;
else if (!strcmp(data, "test;"))
printf("\nFAIL!\n");
else if (!strcmp(data, "test"))
printf("\nWIN!\n");
else
printf("\n%d %s ...\n", strlen(data), data);
}
return 0;
}