如何读取C文件?

时间:2018-07-29 16:50:00

标签: c string

我正在学习C,正在尝试读取文件的内容;我不明白为什么该函数不填充字符串并读取0字节。但是,我想我已经阅读了手册。

char *read_file(const char *filename)
{
    int         file;
    int         nb;
    off_t       size;
    char        *buffer;

    file = open(filename, O_RDONLY);

    if (file < 0)
        return (NULL);

    size = lseek(file, 0, SEEK_END);
    buffer = (char*)malloc(sizeof(char) * (size + 1));

    if (buffer == NULL)
        return (NULL);

    if ((nb = read(file, buffer, size)) < 0)
        return (NULL);

    close(file);
    buffer[size] = '\0';
    return (buffer);
}

0 个答案:

没有答案