gpt4 book ai didi

c++ - 如何在 C++ 中读取此日志文本文件

转载 作者:行者123 更新时间:2023-11-28 04:58:21 24 4
gpt4 key购买 nike

如何将这个 log.txt 文本文件读入我的程序中的结构? ( C++ )///////////////////////logs.txt////////////////////////////

Port4000.txt:M:r:10

Port4001.txt:M:w:1

Port4002.txt:M:w:9

Port4003.txt:J:x:1

代表:

Port40xx.txt代表端口号:M代表用户:r 代表 Action :10代表阈值

////////////////////////////////////////////////////////

struct Pair
{

char user;

char action;

}

int main()
{

Pair pairs;

ifstream infile;

char portnumber[20];


infile.open("logs.txt",ios::in); // `open the log text file `


infile.getline(portnumber,20,':'); //`Reading the portnumber of the user and action
`

infile >> pairs.user >> pairs.action >> threshold;

//`THE PROBLEM IS HOW TO read the user, action, threshold whenever it meets ":" symbol?`

infile.close();

return 0;

}

请告诉我是否有任何方法可以读取 char 数据类型,直到它遇到“:”符号并开始读取另一种 char 数据类型。谢谢:)

最佳答案

您可以继续为“portnumber”做的事情:

Live On Coliru

#include <fstream>
#include <iostream>

struct Pair {
char user;
char action;
};

int main()
{

std::ifstream infile;

infile.open("logs.txt", std::ios::in); // `open the log text file `

std::string portnumber, user, action, threshold;
if (getline(infile, portnumber, ':')
&& getline(infile, user, ':') && user.size() == 1
&& getline(infile, action, ':') && action.size() == 1
&& getline(infile, threshold, '\n'))
{
Pair pair { user[0], action[0] };

}
}

注意 std::getline 的使用比 std::istream::getline 更安全(也更方便)

关于c++ - 如何在 C++ 中读取此日志文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46683246/

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