gpt4 book ai didi

c++ - 使用c++查找文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:40:50 24 4
gpt4 key购买 nike

void Test(Packets& packet)
{
char buf[BUFLEN];
char* offset = buf;
unsigned int foo;
for(;!gzeof(file_handle);){
int len = gzread(file_handle, offset, sizeof(buf)-(offset-buf));
char* cur = buf;
char* end = offset+len;
for (char* eol; (cur<end) && (eol = std::find(cur, end, '\n')) < end; cur = eol + 1)
{
string string_array = string(cur, eol);
if(string_array[0] == 'L'){
packet.foo = blah;
}else{
packet.foo = bar;
}
//After readnig a line.. how do I make sure it quits this function (does another job in some other function) and continous from the next line?
}
#ifdef ROTATION
offset = std::rotate(buf, cur, end);
#else
offset = buf + (end-cur);
std::rotate(buf, cur, end);
#endif
}
std::cout<<std::string(buf, offset) ;
}

在读完一行之后.. 我如何确保它退出这个函数(在其他函数中做另一项工作)并从下一行继续?我尝试将 buf、offset 作为全局变量并仅在缓冲区为空时才读取文件。它仍然不起作用。

最佳答案

为什么要退出函数,从下一行继续?

改变你的函数,就像一个人读一行,另一个人做任何事情

某个地方你可能想做类似的事情或者我错了吗?

{
Packets myPacket;
Test(packet);
OtherFunction(packet);
}

关于c++ - 使用c++查找文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21453983/

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