gpt4 book ai didi

c - 用C语言读取文件

转载 作者:行者123 更新时间:2023-11-30 21:31:28 26 4
gpt4 key购买 nike

谁能告诉我,我们如何使用 c 读取文件的特定部分。

我有一个 1000 个字符的文件,我想分部分读取它,例如:首先 0 到 100 个字符,然后是 101 到 200 个字符,依此类推。我尝试过 fread() 和 fseek() 但无法做到。

我想要类似指针的东西,从文件开头开始读取 100 个字符,然后移动到 101 个位置,然后再次读取 100 个字符,依此类推。

最佳答案

希望这有帮助...

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

int main(void)
{
int fd;
char line[101] = {0};
ssize_t readVal;
int ret;

/* open the file in question */
fd = open("tmpp", O_RDONLY);
if ( fd < 0 )
exit(EXIT_FAILURE);

/* read the first 100bytes (0-99)*/
readVal = read(fd, line, 100);
printf("Retrieved first %zu bytes:\n %s\n\n", readVal, line);

/* read the next 100bytes (100-199)*/
readVal = read(fd, line, 100);
printf("Retrieved second %zu bytes:\n %s\n\n", readVal, line);

/* jump to location 300, i.e. skip over 100 bytes */
ret = lseek(fd, 300, SEEK_SET);
if ( ret < 0 ) {
close( fd );
return -1;
}

/* read next 100bytes (300-399) */
readVal = read(fd, line, 100);
printf("Retrieved third %zu bytes - at location 300:\n %s\n\n", readVal, line);

/* close the file descriptor */
close(fd);
exit(EXIT_SUCCESS);
}

显然,输入不能被读取为字符串......

关于c - 用C语言读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48637841/

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