如何在C中获取未知长度的字符串?

时间:2019-04-11 21:03:32

标签: c string

我一直在尝试学习C,并且想知道:如何在C中获得长度未知的字符串?我找到了一些结果,但是不确定如何应用。

1 个答案:

答案 0 :(得分:0)

如果可以接受标准的扩展名,请尝试POSIX getline()

文档示例:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE *fp;
    char *line = NULL;
    size_t len = 0;
    ssize_t read;
    fp = fopen("/etc/motd", "r");
    if (fp == NULL)
        exit(1);
    while ((read = getline(&line, &len, fp)) != -1) {
        printf("Retrieved line of length %zu :\n", read);
        printf("%s", line);
    }
    if (ferror(fp)) {
        /* handle error */
    }
    free(line);
    fclose(fp);
    return 0;
}