편집 기록

편집 기록
  • 프로필 편집요청빌런님의 편집
    날짜2020.12.30

    동적할당 사용한 코드 오류입니다!..


    #include<stdio.h>
    #include<stdlib.h>
    void main(void)
    {
        char *mes;
        char *mes2;
        char *mes3;
        int i, j,temp=1;
    
        FILE *fp = fopen("Readme.txt", "rb");
        FILE *fp2 = fopen("readm.txt", "wb");
        long dw;
    
    
        if (fp)
        {
            dw = ftell(fp);
            fseek(fp, 0, SEEK_END);
            dw = ftell(fp);
            mes = (char*)malloc(dw);
    
            fseek(fp, 0, SEEK_SET);
            fread(mes, 1, dw, fp);
            for(i=0;i<dw;i++)
                if (mes[i] == 'i' && mes[i + 1] == 's')
                {
                    mes2 = (char*)malloc(dw + temp);
                    mes2 = mes;
                    mes2[i] = 'a';
                    mes2[i + 1] = 'r';
                    memmove(mes2 + i + 3, mes2 + i + 2, strlen(mes2) - i + 3);
                    mes2[i + 2] = 'e';
                    temp++;
                    free(mes2);
    
    
    
            }
            mes = (char*)malloc(dw + temp);
            mes = mes2;
            printf("mes:%s\n", mes);
    
        }
    
        free(mes2);
        free(mes);
        fclose(fp);
        fclose(fp2);
    }
    
    

    동적할당을 사용해서 txt파일에 is라는 글자을 are로 바꿀려고 합니다.. 그런데 계속 오류가 뜨네요 어떻게 고쳐야될지 알고싶습니다!..

  • 프로필 알 수 없는 사용자님의 편집
    날짜2017.10.10

    동적할당 사용한 코드 오류입니다!..


    include

    include

    void main(void) { char *mes; char *mes2; char *mes3; int i, j,temp=1;

    FILE *fp = fopen("Readme.txt", "rb");
    FILE *fp2 = fopen("readm.txt", "wb");
    long dw;
    
    
    if (fp)
    {
        dw = ftell(fp);
        fseek(fp, 0, SEEK_END);
        dw = ftell(fp);
        mes = (char*)malloc(dw);
    
        fseek(fp, 0, SEEK_SET);
        fread(mes, 1, dw, fp);
        for(i=0;i<dw;i++)
            if (mes[i] == 'i' && mes[i + 1] == 's')
            {
                mes2 = (char*)malloc(dw + temp);
                mes2 = mes;
                mes2[i] = 'a';
                mes2[i + 1] = 'r';
                memmove(mes2 + i + 3, mes2 + i + 2, strlen(mes2) - i + 3);
                mes2[i + 2] = 'e';
                temp++;
                free(mes2);
    
    
    
        }
        mes = (char*)malloc(dw + temp);
        mes = mes2;
        printf("mes:%s\n", mes);
    
    }
    
    free(mes2);
    free(mes);
    fclose(fp);
    fclose(fp2);
    

    }

    동적할당을 사용해서 txt파일에 is라는 글자을 are로 바꿀려고 합니다.. 그런데 계속 오류가 뜨네요 어떻게 고쳐야될지 알고싶습니다!..

  • 프로필 지훈님의 편집
    날짜2017.09.07

    동적할당 사용한 코드 오류입니다!..


    include

    include

    void main(void) { char *mes; char *mes2; char *mes3; int i, j,temp=1;

    FILE *fp = fopen("Readme.txt", "rb");
    FILE *fp2 = fopen("readm.txt", "wb");
    long dw;
    
    
    if (fp)
    {
        dw = ftell(fp);
        fseek(fp, 0, SEEK_END);
        dw = ftell(fp);
        mes = (char*)malloc(dw);
    
        fseek(fp, 0, SEEK_SET);
        fread(mes, 1, dw, fp);
        for(i=0;i<dw;i++)
            if (mes[i] == 'i' && mes[i + 1] == 's')
            {
                mes2 = (char*)malloc(dw + temp);
                mes2 = mes;
                mes2[i] = 'a';
                mes2[i + 1] = 'r';
                memmove(mes2 + i + 3, mes2 + i + 2, strlen(mes2) - i + 3);
                mes2[i + 2] = 'e';
                temp++;
                free(mes2);
    
    
    
        }
        mes = (char*)malloc(dw + temp);
        mes = mes2;
        printf("mes:%s\n", mes);
    
    }
    
    free(mes2);
    free(mes);
    fclose(fp);
    fclose(fp2);
    

    }

    동적할당을 사용해서 txt파일에 is라는 글자을 are로 바꿀려고 합니다.. 그런데 계속 오류가 뜨네요 어떻게 고쳐야될지 알고싶습니다!..