gpt4 book ai didi

c - 将文本读入缓冲区后如何逐行读取?

转载 作者:太空狗 更新时间:2023-10-29 14:51:00 26 4
gpt4 key购买 nike

首先,我通过调用 fread 将文本读入缓冲区,然后我想逐行读取它,怎么办?我尝试使用 sscanf ,但它似乎不起作用。

char textbuf[4096];
char line[256];
FILE *fp;
fp = fopen(argv[1],"r");
memset(textbuf, 0, 4096);
fread(textbuf, 1, 4096, fp);

我知道使用 fgets 是个好方法。我只想知道这种方法是否可以做同样的事情。

最佳答案

试试这个:

fgets(textbuf, sizeof(textbuf), fp);

要逐行读取,您可以使用:fgets(line, 128, fp)getline(&line, &size, fp);

编辑

如果想从变量中读取,看strtok()函数:

char * line = strtok(strdup(buffer), "\n");
while(line) {
printf("%s", line);
line = strtok(NULL, "\n");
}

关于c - 将文本读入缓冲区后如何逐行读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10560505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com