gpt4 book ai didi

c++ - 从特定位置获取文件内容到另一个特定位置

转载 作者:太空狗 更新时间:2023-10-29 20:14:04 25 4
gpt4 key购买 nike

我想通过指定位置的开始和指定位置的结束来获取文件内容的一部分。

我正在使用 seekg 函数来执行此操作,但该函数仅确定开始位置,但如何确定结束位置。

我编写了代码以获取文件从特定位置到文件末尾的内容,并将每一行保存在数组项中。

ifstream file("accounts/11619.txt");
if(file != NULL){
char *strChar[7];
int count=0;
file.seekg(22); // Here I have been determine the beginning position
strChar[0] = new char[20];
while(file.getline(strChar[count], 20)){
count++;
strChar[count] = new char[20];
}

例如
文件内容如下:

11619.
Mark Zeek.
39.
beside Marten st.
2/8/2013.
0

我只想得到以下部分:

39.
beside Marten st.
2/8/2013.

最佳答案

因为您知道要从文件中读取的 block 的开始和结束,您可以使用 ifstream::read()

std::ifstream file("accounts/11619.txt");
if(file.is_open())
{
file.seekg(start);
std::string s;
s.resize(end - start);
file.read(&s[0], end - start);
}

或者如果您坚持使用裸指针并自己管理内存...

std::ifstream file("accounts/11619.txt");
if(file.is_open())
{
file.seekg(start);
char *s = new char[end - start + 1];
file.read(s, end - start);
s[end - start] = 0;

// delete s somewhere
}

关于c++ - 从特定位置获取文件内容到另一个特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18009287/

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