IB001 Úvod do programování - Seminární skupina 25 a 26
Řešení 2. zápočtového testu
#include <stdio.h> #include <stdlib.h> #include <string.h> void censor(char *str) { char mystring[20]; FILE * pFile; pFile = fopen ("slova.txt" , "r"); if (pFile == NULL) { printf("Nepovedlo se otevrit soubor."); return; } else { while(fscanf(pFile,"%s",mystring) != EOF /*fgets (mystring,20,pFile) != NULL*/){ /*mystring[strlen(mystring)-1] = '\0'; // pri pouziti funkce fgets je treba odstranit '\n' na konci slova */ char *substring = strstr(str,mystring); while(substring != NULL && strlen(mystring)>0){ strncpy(substring,"********************",strlen(mystring)); /* alternativne lze namisto strncpy pouzit cyklus for(unsigned int i=0; i<strlen(mystring); i++) { *(substring+i) = '*'; } */ substring = strstr(str,mystring); } } fclose (pFile); } } int main(void) { printf("Zadejte text, ktery chcete cenzurovat:\n>"); char text[1024]; fgets(text,1024,stdin); //gets(text); // aleternativne muzete pouzit i funkci gets; censor(text); printf("\n%s",text); return 0; }
Následující