[RISOLTO] Warning function 'ispunct'

di il
3 risposte

[RISOLTO] Warning function 'ispunct'

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;
}

3 Risposte

Devi accedere o registrarti per scrivere nel forum
3 risposte