gpt4 book ai didi

c - 如何在C中获取文本文件中的字符数

转载 作者:行者123 更新时间:2023-12-03 19:40:07 25 4
gpt4 key购买 nike

我正在编写一个将文本文件名作为参数并打印其内容的 c 程序。

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

int main(int argc, char *argv[])
{
char *filepath = "source.txt";
int fd = open(filepath, O_RDONLY);
if (fd == -1)
{
printf("\n open() failed with error [%s]\n", strerror(errno));
return 1;
}
char buffer[1000];
read(fd, buffer, 1000);
printf("%s", buffer);
close(fd);
return 0;
}
我不知道如何获取文本文件中的字符数,所以我只是将数组大小设置为 1000。它似乎可以工作,但是我怎样才能对具有任意数量字符的文本文件进行此操作?我只被允许使用 open、read、write、read 系统调用。
enter image description here

最佳答案

写一个循环。在循环中,读取 1000 字节(或您觉得方便的任何数字)并注意 read 的返回值,这是实际读取的字节数,因此您可以将其添加到总数中。如 read返回 0,它到达文件末尾,因此您可以停止。如果它返回 -1,则存在错误(在 errno 中),您可能想要报告它并退出。

关于c - 如何在C中获取文本文件中的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66217707/

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