Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main()
- {
- FILE *txtFile = NULL, *binFile = NULL;
- char *string[15];
- int *firstIntArr, *secondIntArr, ch = 0, i, row = 0, strRow = 0, cow = 0, type = 1;
- double *doubleArr;
- for (i = 0; i < 15; i++){
- string[i] = (char *)malloc(15);
- }
- firstIntArr = (int *)malloc(15 * sizeof(int));
- secondIntArr = (int *)malloc(15 * sizeof(int));
- doubleArr = (double *)malloc(15 * sizeof(double));
- txtFile = fopen("txtFile.txt", "r");
- binFile = fopen("binFile", "wb");
- if (binFile == NULL || txtFile == NULL) {
- printf("File cannot be open!\n");
- exit(1);
- }
- printf("from txt file:\n");
- while ((ch = fgetc(txtFile)) != EOF) {
- switch (type)
- {
- case 1: string[strRow][cow] = (char)ch; break;
- case 2: firstIntArr[row] = (int)ch; break;
- case 3: secondIntArr[row] = (int)ch; break;
- case 4: doubleArr[row] = (double)ch; break;
- default: break;
- }
- if (ch == ';')
- {
- type++;
- cow = 0;
- row = 0;
- }
- else
- {
- cow++;
- row++;
- }
- if (type == 5)
- {
- type = 1;
- strRow++;
- }
- printf("%c", ch);
- }
- fclose(txtFile);
- for (i = 0; i < 15; i++){
- if ((fwrite(&string[i], 1, sizeof(string), binFile) != sizeof(string)) ||
- (fwrite(&firstIntArr[i], sizeof(int), 1, binFile) != 1) ||
- (fwrite(&secondIntArr[i], sizeof(int), 1, binFile) != 1) ||
- (fwrite(&doubleArr[i], sizeof(double), 1, binFile) != 1))
- {
- exit(2);
- printf("Err!");
- }
- }
- fclose(binFile);
- for (i = 0; i < 15; i++)
- {
- free(string[i]);
- }
- free(firstIntArr);
- free(secondIntArr);
- free(doubleArr);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment