我正在运行一个应该将字符串转换为十六进制的 C++ 程序。它编译但我在运行时出错说:
调试断言失败!(不好了!)
Visual Studio2010\include\xstring
1440线
表达式:字符串下标超出范围
而且我别无选择中止......它似乎将它转换为错误点,所以我不确定发生了什么。我的代码很简单:
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
string hello = "Hello World";
int i = 0;
while(hello.length())
{
cout << setfill('0') << setw(2) << hex << (unsigned int)hello[i];
i++;
}
return 0;
}
这个程序应该做的是将每个字母转换为十六进制 - 逐个字符。