字符串转换为int,再次转换为字符串C++
String to int and again to string C++
我想用程序从用户那里获取一个字符串,并将其转换为一些数字(字符),当数字增加1个单位时,将它们放在另一个字符串中并显示出来。
string text, code;
cout << "Enter Text: ";
getline(cin, text);
for (int i = 0; i < 8 ; i++)
code[i] = text[i] + '1';
cout<<code<<endl;
例如,如果我输入为blow:abcd123结果是:bcde234
但是当我运行这个程序时,在我的输入之后,它会得到一个错误:(
错误的原因是字符串code
是统一的,在索引i
访问它是UB。要解决此问题,请在读取输入并将其放入字符串text
后添加以下行
code = text; // Giving it the exact value of text is redundant. The main point is to initialise it to appropriate size.
除此之外,代替
code[i] = text[i] + '1';
应该是
code[i] = text[i] + 1;
您也可以如下修改代码,以避免code
变量,并使其更加简洁:
text[i]++;
相关文章:
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 当字符串存储在变量中时,如何将字符串转换为wchar_t
- 如何将这个std::字符串转换为std::基本字符串
- 如何正确将字符串转换为标准::时间::system_clock::time_point?
- 如何在C++中将十六进制字符串转换为文本数据
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 如何从字符串转换为双精度*
- C++:如何将 unix 时间的字符串转换为 *tm?(使用时间错误:"cannot convert 'String' to 'tm*' ")
- 如何在C++中将 Python 字符串转换为其转义版本?
- 如何在 C++11 中将标准::字符串转换为标准::u32字符串?
- 如何将整数字符串转换为整数的二维向量?
- 使用 "stringstream " 将字符串转换为整数
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 将文件复制到自定义位置,存在字符串转换问题
- 将ANSI C字符串转换为UNICODE
- 如何将节点 V8 字符串转换为 C++ 字符串
- 在C++中将字符串转换为双精度,而无需科学记数法
- 使用从文件(stod、strtod、atof)中提取的数据C++从字符串转换为双精度.csv
- 如何在C++中将字符串转换为双精度?
- 将字符串转换为无符号字符数组/字节数组