首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问怎样把char* a = new char([100] 转成 int型

2013-10-21 
请教怎样把char* a new char([100] 转成 int型?请教怎样把char* a new char([100] 转成 int型?比如 a

请教怎样把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;
}


热点排行