Удалить из файла фразы, имеющие хотя бы одну цифру 1 - C (СИ)
Формулировка задачи:
Будте добры, помогите разобраться с задачей: дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Удалить из этого файла фразы, имеющие хотя бы одну цифру 1.
Вот рабочая прога, только на экран не выводит оставшиеся предложения. Но в файл записывает все предложения верно без ошибок. Как вывести текст после удаления из него фраз с единицей?
# include <stdio.h> # include <string.h> int main () { FILE *fin,*fout; int i,k; char str [100]; fin=fopen("read.txt","rt"); fout=fopen("write.txt","wt"); if(fin==NULL&&fout==NULL) { printf("File can not found"); return 1; } while (!feof(fin)) { i=0; do { fscanf (fin,"%c",&str[i]); i++; }while (str[i-1]!='.'&&','); str[i]='\0'; k=0; for(i=0;i<strlen(str);i++) if(str[i]=='1') k=1; { if(k==0) fprintf(fout,"%s\n",str); } } fclose(fin); fclose(fout); return 0; }
Решение задачи: «Удалить из файла фразы, имеющие хотя бы одну цифру 1»
textual
Листинг программы
while (str[i-1]!='.'&&',');