如何让atoi()函数处理字符串?

时间:2014-12-29 01:33:52

标签: c++ string itoa

int p; long unsigned int z;
while (i <= x.length())
{
    const int a = x.length();
    char* b;
    b = x.substr(sizeof(a) - i, 1);
    p = atoi(b);
    z = (z + p + 3) * 3;
    i++;
}

我得到了:

C:\Users\Anthony\Downloads\pack1.cpp|77|error: cannot convert 'std::basic_string<char>' to 'char*' in assignment|

我正试图向后穿过'x'并在我走的时候写下每个ascii代码。底部的公式是哈希。 'x'是文件名。我稍后会放松它。我需要通过atoi()运行它。

请帮助,因为我不知道该怎么做。程序中的其他所有内容都运行良好,但至于这一点,我对这可能是不可能的真实性感到有点不安。请帮忙,谢谢。

1 个答案:

答案 0 :(得分:2)

int p; long unsigned int z;
while (i <= x.length())
{
  const int a = x.length();
  string b;
  b = x.substr(sizeof(a) - i, 1);
  p = atoi(b.c_str());
  z = (z + p + 3) * 3;
  i++;
}