#include int write_file(char *text, char *file); int main() { FILE *fin; int i, ch, end = 0, length = 0; char *end_str = "END", filename[25], *p; fin = fopen("temp.log", "w+"); while ((ch = getchar()) != EOF) { if (ch != 'E' && ch != 'N' && ch != 'D') { for (i = 0; i < end; i++) fputc(end_str[i], fin); end = 0; length++; fputc(ch, fin); if (ch == '.' || ch == '!' || ch == '?') { fputc('\n', fin); length++; } } else { if (!end && (ch == 'N' || ch == 'D')) { fputc(ch, fin); length++; } else { if (end_str[end] == ch) { end++; if (end == 3) break; } } } } i = 0; p = (char *) calloc(length, sizeof(char)); rewind(fin); while ((ch = fgetc(fin)) != EOF) p[i++] = ch; p[length] = 0x00; fclose(fin); printf("Filename: "); scanf("%s", filename); if (write_file(p, filename)) { printf("Sucessfull!\n"); } else { printf("Error\n"); } getche(); free(p); return 0; } int write_file(char *text, char *file) { FILE *fin; if ((fin = fopen(file, "w")) == NULL) return 1; if (fwrite(text, sizeof(char), strlen(text), fin) < strlen(text)) { fclose(fin); return 1; } fclose(fin); return 0; }