Центрирование строк в файле c - PullRequest
0 голосов
/ 18 апреля 2020

У меня есть Файл, который содержит строки максимум с 80 символами, мне нужно центрировать их в текущем файле, у меня есть этот код сейчас, но я не могу обработать fseek, я не могу использовать другой файл в качестве буфера, борясь за это задание на 3 дня, и я был бы рад, если бы кто-нибудь помог мне

     #include <stdio.h>
     #include <string.h>
     #define SIZE 80
     int ToInt(size_t  size){
     return static_cast <int>(size);
     }
    int main()
    {
        FILE *SourceFile;
        char String[SIZE];
        SourceFile = fopen("D:/Study/Labs/C/LAb4/LAb4.2/test.txt","r+");
        if(!SourceFile){
            printf("Can't open source file");
        }
        else{
            printf("File's opened\n ");
            int Counter = 0 ;
            while(!feof(SourceFile)){
                fseek(SourceFile,Counter*SIZE,SEEK_SET);
                fgets(String,SIZE,SourceFile);
                printf("String %d is readen\n ",Counter+1);
                char NewString[SIZE];
                int size = (80 - ToInt(strlen(String)))/2;
                for(int i = 0;i<size    ;i++){
                    NewString[i]= ' ';
                }
                for(int i = 0;i<ToInt(strlen(String));i++ ){
                    NewString[i+size]=String[i];
                }
                fseek(SourceFile,Counter * SIZE,SEEK_SET);
                fwrite(NewString,1,SIZE,SourceFile);
                printf("String %d is Writen\n ",Counter+1);
                Counter++;
            }
            fclose(SourceFile);
            printf("\n Source File Closed");
        }

    }
...