C++ 如何将字符串数字转换为单个数字的整数数组
我有20位字符串,例如:12345678912345678912。 我想把它转换成整数数组[1,2,3…2] 我该怎么做? (我在sstream、atoi/stoi中不断出现错误)C++ 如何将字符串数字转换为单个数字的整数数组,c++,string,C++,String,我有20位字符串,例如:12345678912345678912。 我想把它转换成整数数组[1,2,3…2] 我该怎么做? (我在sstream、atoi/stoi中不断出现错误)//示例程序 #包括 #包括 int main() { //将字符转换为int std::string str=“12345678912345678912”; 整数位数[str.size()]; 对于(size_t i=0;i创建一个新数组,并将每个数字字符转换为数字。只需从数字字符中减去'0',即可得到数字 数字字符
//示例程序
#包括
#包括
int main()
{
//将字符转换为int
std::string str=“12345678912345678912”;
整数位数[str.size()];
对于(size_t i=0;i创建一个新数组,并将每个数字字符转换为数字。只需从数字字符中减去'0'
,即可得到数字
数字字符-'0'
=该字符的ASCII值-'0'
=数字的ASCII值
std::矢量数字;
对于(int i=0;i
使用是到这里的方法
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string s;
cin>>s;
int len = s.length();
int arr[len];
for( int it=0; it<len; it++ ){
// using ascii value
arr[it] = s[it] - '0';
}
for(int it=0; it<len; it++){
cout<<arr[it]<<" ";
}
return 0;
}
#包括
#包括
使用名称空间std;
int main(){
字符串s;
cin>>s;
int len=s.length();
内方位角[len];
对于(int=0;it ),您需要学会使用C++标准<代码>字符串< /COD>和字符串。然后学习使用标准函数将字符转换为整数。下面是一些有用的参考文献:
-
上面提到的解决方案是正确的。下面是解决您问题的另一种方法
int main()
{
string input = "123456789";
int sum = 0;
const char * icstring = input.c_str(); // input character string
for(int i = 0; i < input.size(); i++)
{
char scstring[2]; // single character string
// Copy first digit to scstring
strncpy_s(scstring, icstring, 1);
// Convert scstring to integer using C library function 'atoi'
int digit = atoi(scstring); // cout << "i = " << endl;
sum += digit;
icstring++; // process next character
}
cout << "Sum of integers : " << sum << endl;
return 0;
}
intmain()
{
字符串输入=“123456789”;
整数和=0;
const char*icstring=input.c_str();//输入字符串
对于(int i=0;i int digit=atoi(scstring);//你真的需要转换它吗?在某种程度上,它已经是一个整数数组了。在大多数情况下,你可以将它的元素偏移-“0”
。你能发布你到目前为止尝试过的内容吗?当然,很快就会编辑^Hi@vcp-你的代码可能是正确的,尽管海报希望将字符串转换成整数数组。Hi@HK男孩-你的代码在我看来很好,尽管海报希望将字符串转换为整数数组。
int main()
{
string input = "123456789";
int sum = 0;
const char * icstring = input.c_str(); // input character string
for(int i = 0; i < input.size(); i++)
{
char scstring[2]; // single character string
// Copy first digit to scstring
strncpy_s(scstring, icstring, 1);
// Convert scstring to integer using C library function 'atoi'
int digit = atoi(scstring); // cout << "i = " << endl;
sum += digit;
icstring++; // process next character
}
cout << "Sum of integers : " << sum << endl;
return 0;
}