Заменить все звездочки на пробел - C (СИ)
Формулировка задачи:
Необходимо, используя динамическую память в текстовом файле неизвестного размера заменить все * на ' ' (пробел).
Написал что-то, но не работает, прошу помочь.
// Uta.cpp// #include <stdafx.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> int _tmain() { struct node { char text; struct node *next; }; typedef node *PNode; char help; FILE*oldf; FILE*newf; PNode Head, f, c; f=(node*)malloc(sizeof(node)); Head=f; oldf=fopen("Stars.txt","r"); newf=fopen("Space.txt","a"); while (feof(oldf)==0) { fscanf(oldf, "%c", &help); if (help=='*') help=' '; f->text=help; if (f->text=='\n') { fprintf(newf, "%s", f->text); free(f); free(Head); Head=(node*)malloc(sizeof(node)); } c=(node*)malloc(sizeof(node)); f->next=c; f=c; } fclose(oldf); fclose(newf); getch(); }
Решение задачи: «Заменить все звездочки на пробел»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main() { FILE *in = fopen("1", "r"); FILE *out = fopen("2", "w"); char *buffer = (char*)malloc(4096), *c; while(!feof(in)) { if((c = fgets(buffer, 4096, in)) == 0) break; do if(*c=='*') *c=' '; while(*c++); fputs(buffer, out); } free(buffer); fclose(in); fclose(out); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д