小编JJJ*_*JJJ的帖子

在函数中通过指针修改char*会导致崩溃

我是C的新手,我正在尝试从文件中读取动态内存分配.至少我认为这就是我正在做的事情.

无论如何,这段代码有效:

int readfromfile(FILE *filepointer)
{
    size_t size = 2;
    char *str = (char *) malloc(sizeof(char));
    int character = 0;
    size_t counter = 0;
    while((character = fgetc(filepointer)) != EOF)
    {
        str = (char *) realloc(str, size);
        str[counter] = (char) character;
        size ++;
        counter++;

    }
    str[counter] = '\0';
    printf("+%s+", str);
    free(str);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

而且这段代码没有:

int main()
{
    char *str = (char *) malloc(sizeof(char));
    ...
    readfromfile(ifpointer, &str);
}

int readfromfile(FILE *filepointer, char **str)
{
    size_t size = 2;
    int character = …
Run Code Online (Sandbox Code Playgroud)

c arrays function char dynamic-memory-allocation

1
推荐指数
1
解决办法
105
查看次数

标签 统计

arrays ×1

c ×1

char ×1

dynamic-memory-allocation ×1

function ×1