#include #include #include int write_file(char *text, const char *file); int main() { FILE *fin; int length = 0; const char *end_str = "END"; char buffer[512], filename[25], *p; if ((fin = fopen("temp.log", "a+")) == NULL) { printf("Error opening file\n"); return 1; } while (1) { fgets(buffer, sizeof(buffer), stdin); buffer[strcspn(buffer, "\n")] = 0x00; fprintf(fin, "%s\n", buffer); if (strstr(buffer, end_str)) break; } length = (int) ftell(fin); p = (char *) calloc(length + 1, 1); rewind(fin); fread(p, 1, length, fin); fclose(fin); printf("Filename: "); fgets(filename, sizeof(filename), stdin); filename[strcspn(filename, "\n")] = 0x00; if (write_file(p, filename)) printf("Error!\n"); else printf("Sucessfull!\n"); free(p); getche(); return 0; } int write_file(char *text, const char *file) { const char *end_sen = ".!?"; FILE *fin; if ((fin = fopen(file, "w")) == NULL) return 1; text[strlen(text) - 4] = 0x00; while (*text) { fputc(*text, fin); if (strchr(end_sen, *text)) fputc('\n', fin); text++; } fclose(fin); return 0; }