【发布时间】:2014-03-21 13:46:39
【问题描述】:
我试图以字符串的形式将变量表示为整数,我已经这样做了;
atoi(str.c_str())
字符串最初是从一个文本文件中获取并存储到一个;
CharArrayPtr cmemblock;
然后将其表示为字符串;
string str;
for(int i = 0; i < numberofvalues; i++)
{
str = cmemblock[i];
int number = atoi(str.c_str());
cout << number;
}
如果我要将“cout”更改为打印 str;
str = cmemblock[i];
int number = atoi(str.c_str());
cout << str;
数字正确显示在文本文件中
但是,我要求输出为整数,以便可以在循环中表示它以搜索存储在数组中的值。所以这就是“数字”发挥作用的地方,这就是我在何时寻求您帮助的原因;
cout << number;
每当读取新行时,它都表示为“0”,我将如何删除它?如果您需要我的完整代码,它位于几个不同的 .cpp 文件中,并且为了防止任何人复制我的工作,我只能通过电子邮件发送给您,我确定您已经猜到它是大学作业的一部分。
使用会员 Adosi 代码我想出了这个;
std::string str;
for(int i = 0; i < numberofvalues; i++)
{
str = cmemblock[i];
std::stol(str);
int number = std::stoi(str);
cout << number;
}
我收到错误 R6010。我做错了吗?
【问题讨论】:
-
为什么要从 C++ 调用
atoi?atoi真是骇人听闻。没有人愿意打电话给atoi。 -
大声笑你有什么建议?
-
修复你的字符串!如果您传递格式错误的输入,您不能责怪该功能无法正常工作。 “1234”是一个数字,“1234\n”IMO 不是。
-
除了
atoi之外的几乎所有东西
标签: c++ arrays string integer atoi