我正在使用带有c ++的GMP来处理真正的大整数。我有一个包含大数字列表的文件。我通过以下方法将这些数字存储为向量的元素:
vector<string> data;
std::ifstream file("something.txt");
std::string line;
while(std::getline(file, line))
{
data.push_back(line);
}
(文件的每一行只包含一个大数字。)
现在我想使用这些数字来执行某些算术,我尝试将它们存储在mpz_t数组中,如下所示:
int size = (int) data.size();
mpz_t q[size];
for (int i=0;i<size;i++)
{
mpz_init(q[i]);
mpz_set_ui(q[i],0);
}
for (int i=0; i<size; i++)
{
mpz_set_str(q[i], data[i] , 10);
}
在这里,使用mpz_set_str我有一个错误,我真的不知道为什么。
请注意,我是c ++的完全初学者,当然还有GMP库。