gpt4 book ai didi

c++ - 从冒号分隔的 .text 文件中提取信息,C++

转载 作者:行者123 更新时间:2023-11-28 06:42:46 24 4
gpt4 key购买 nike

伙计们。我正在编写这个小测试程序以将文本文件从“EXAMPLE.txt”读取到我的主程序中。在输出的时候,我用“*”来显示,输出时的数据就是我要提取出来定位到一个数组中的数据。比方说,在这个测试程序中,我想提取的数据是“JY9757AC”、“AZ9107AC”、“GY9Z970C”。但在那之后,我做了一个试运行,当涉及到输出时我遇到了这个问题。

例子.txt

ABC:JY9757AC
HDMI:AZ9107AC
SNOC:GY9Z970C

主要.CPP

main()
{
string output;
ifstream readExample;
readExample.open("EXAMPLE.txt");

while(readExample.eof())
{
getline(readExample,output,':');
cout << "* " << output <<endl;
}
}

输出

* ABC       //while loop output the "ABC", which is the data that I don't want.
* JY9757AC
HDMI //it work's well, as what I expected and so and the SNOC below
* AZ9107AC
SNOC
* GY9Z970C

我不知道为什么输出中显示“* ABC”,我的逻辑有什么问题吗?或者我错过了 while 循环中的某些东西?预先感谢您帮助解决我的代码!

最佳答案

getlinedelim 参数替换了新行的默认分隔符“\n”。您当前作为“行”得到的是:

ABC
JY9757AC\nHDMI
AZ9107AC\nSNOC
GY9Z970C

你可以做的更多是这样的(如果你的输出像 GY9Z970C)是固定大小的:

ssize_t len = getline(readExample,output,':');
cout << "* " << (char*)(output + (len - 8)) <<endl;

关于c++ - 从冒号分隔的 .text 文件中提取信息,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25639082/

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