gpt4 book ai didi

c++ - 如何从一个非常大的数字的 C++ 字符串中提取所有数字?

转载 作者:行者123 更新时间:2023-11-28 02:49:38 26 4
gpt4 key购买 nike

我有一个非常大的数字文件,不适合 int 数据类型。我的任务是获取大数的每个数字并将其分配给链表中它自己的节点。我还需要一次读取文件中的 2 个大数字,文件中的每个数字用换行符分隔。

到目前为止,我有这个用于测试目的:

    inFile.open("file.txt");
inFile >> bigNumber;
for(const auto &c : bigNumber) {
cout << c << endl;
}

这会打印出正确的值,但问题是它是一个字符,我无法对这个数字进行加法或乘法运算。如何从字符串中提取每个单独的数字作为 int?

我还被告知这可以通过 stringstream 实现,尽管我完全不知道这些对象是如何工作的?如果可能的话,我非常愿意接受更好/更清洁的方法来完成上述任务。

最佳答案

取决于你想做什么:

要将值读取为 ascii 码,您可以使用

char c = 'a';
int i = (int) a;
/* note that the int cast is not necessary -- int i = a would suffice */

要转换字符 '0' -> 0、'1' -> 1 等,你可以这样写

char c = '4';
int i = a - '0';
/* check here if i is bounded by 0 and 9 */

关于c++ - 如何从一个非常大的数字的 C++ 字符串中提取所有数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23353858/

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