#include #include #include int write_file(const char *text, const char *file); int main() { const char *end = "NONAME"; char ime[32], prezime[128], jmbag[11], filename[25], *ptr; int bod[5], i, length = 0; FILE *fin; if ((fin = fopen("temp.log", "w+")) == NULL) { printf("Error opening temp file!\n"); return 1; } while (1) { printf("Ime: "); fgets(ime, sizeof(ime), stdin); ime[strcspn(ime, "\n")] = 0x00; if (!strcmp(ime, end)) break; printf("Prezime: "); fgets(prezime, sizeof(prezime), stdin); prezime[strcspn(prezime, "\n")] = 0x00; printf("JMBAG: "); fgets(jmbag, sizeof(jmbag), stdin); jmbag[strcspn(jmbag, "\n")] = 0x00; for (i = 0; i < 4; i++) { do { printf("%d. bodovi: ", i + 1); scanf("%d", &bod[i]); } while (bod[i] < 0 || bod[i] > 20); } getchar(); length += fprintf(fin, "%s#%s#%s#%d#%d#%d#%d#\n", jmbag, ime, prezime, bod[0], bod[1], bod[2], bod[3]); } ptr = (char *) calloc(length + 1, 1); i = 0; rewind(fin); fread(ptr, 1, length, fin); fclose(fin); printf("Filename: "); fgets(filename, sizeof(filename), stdin); filename[strcspn(filename, "\n")] = 0x00; if (write_file(ptr, filename)) printf("Error\n"); else printf("Sucessfull!\n"); free(ptr); getche(); return 0; } int write_file(const char *text, const char *file) { FILE *fin; if ((fin = fopen(file, "w")) == NULL) return 1; if (fwrite(text, 1, strlen(text), fin) < strlen(text)) { fclose(fin); return 1; } fclose(fin); return 0; }