读书人

请问怎样把char* a = new char([100]

发布时间: 2013-10-21 17:02:52 作者: rapoo

请教怎样把char* a = new char([100] 转成 int型?
请教怎样把char* a = new char([100] 转成 int型?
比如 a的第10到第12的位置,是 123,希望将123转称 int型值
谢谢
[解决办法]


char temp[3] = {0};
memcpy(temp, a+9, 3);
int b = atoi(temp);

[解决办法]
试试
int const n = (a[9]-'0') * 100 + (a[10]-'0')*10 + (a[11]-'0');
[解决办法]
char* a = new char[100];
int *b=(int*) a;
//现在,b就可以按int的形式进行访问
[解决办法]
指针就是一个内存地址,至于这个地址是存什么,编译器得看上下文
int *b=(int*) a;
就让编译器知道,现在b作为int*看待

为啥不是 int b=(int) a;这个不知道怎么回答你,还是多看看书吧

[解决办法]
修改,删除多余代码并把string转成int

#include <iostream>
#include <iterator>
#include <regex>
#include <string>

int main()
{
std::string const strs("This is a book 123, a pen 321, a human 345");
std::regex reg("\\d+");

std::vector<int> nums;
for(std::sregex_iterator begin(std::begin(strs), std::end(strs), reg), end; begin != end; ++begin){
nums.emplace_back(std::stoi(begin->str()));
std::cout<<nums.back()<<std::endl;
}

return 0;
}


读书人网 >C++

热点推荐