gpt4 book ai didi

c++ - 如何从包含符号、数字和字母的文本文件中读取整数?

转载 作者:行者123 更新时间:2023-11-28 02:24:15 25 4
gpt4 key购买 nike

如何从以下包含符号、数字和字母的文本文件中读取整数?

我有以下文本文件

@
100:20 ;
20:40 ;
#

@
50:30 ;
#

@
10:21:37 ;
51:23 ;
22:44 ;
#

我试过以下代码:

int main()
{
std::ifstream myfile("10.txt", std::ios_base::in);

int a;
while (myfile >> a)
{
std::cout<< a;
}

return 0;
}

void main()
{
std::ifstream myfile("10.txt", std::ios_base::in);
std::string line;

while (std::getline(infile, line))
{
std::istringstream iss(line);
int n;
while (iss >> n)
{
std::cout << n ;
}

}
}

我得到的只是一个 int 变量的垃圾值(或者如果我初始化它的初始值)

如何解决?

最佳答案

您可以尝试将每一行拆分为由冒号字符分隔的单独标记:

int main()
{
std::ifstream myfile("10.txt", std::ios_base::in);
std::string line;

while (std::getline(myfile, line))
{
std::istringstream iss(line);
std::string token;
while (std::getline(iss, token, ':'))
{
std::istringstream tss(token);
int n;
while (tss >> n)
{
std::cout << n << std::endl;
}
}
}

return 0;
}

这应该打印:

100
20
20
40
50
30
10
21
37
51
23
22
44

根据这个comment ,我推荐一种更强大的解析算法,它尊重文件的独特结构。

关于c++ - 如何从包含符号、数字和字母的文本文件中读取整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271199/

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