首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将int转换为char*?

如何将int转换为char*?
EN

Stack Overflow用户
提问于 2012-05-28 14:28:47
回答 3查看 1.7K关注 0票数 0

我的问题是,我不知道如何将int值转换为char数组char* m_value。我试过用伊藤,但不起作用。itoa(m_val, m_wartosc, 10);,也许还有其他功能可以这样做呢?

Main.cpp

代码语言:javascript
复制
int main(int argc, char *argv[])
{
    LargeNumber l1;
    LargeNumber l3(172839); //how to convert this int to char*

    return 0;
}

LargeNumber.h

代码语言:javascript
复制
    class LargeNumber{

            public:

                LargeNumber()
                { 
                    m_array = "0"; //zero for no arg.
                }
                LargeNumber(int val):m_val(val)
                {
                    itoa(m_val, m_array, 10);  //doesn't work
                    //sprintf(m_array, "%d", m_val);
                }



                LargeNumber(const LargeNumber& p):m_array(p.m_array)
                { }  //copy constructor


                ~LargeNumber(){
                    delete []m_array;     //for object with new    
                }
               public: //should be private
                int m_val;
                char* m_array;

};
EN

回答 3

Stack Overflow用户

发布于 2012-05-28 14:35:15

itoa()的第二个参数需要是内存中的一个足够大的数组,以存储以空结尾的字符串。举个例子:

代码语言:javascript
复制
int number = 172839;
char buffer[10];
itoa(number,buffer,10);
票数 0
EN

Stack Overflow用户

发布于 2012-05-28 14:36:17

代码语言:javascript
复制
LargeNumber(int val):m_val(val)
        {
            std::stringstream stream;
            stream << val;
            m_array = new char[stream.str().size()];
            strcpy(m_array, stream.str().c_str());
        }
票数 0
EN

Stack Overflow用户

发布于 2012-05-28 14:37:25

首先,必须将数组分配给

代码语言:javascript
复制
m_array = new char[20]

在调用iota之前在构造函数中。它不分配内存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10786282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档