c ++ int存储为char *转换中的字符,没有任何API

时间:2012-01-18 19:23:16

标签: c++ char int

我们如何在char *中存储int值作为c ++表示字符...例如,我想存储10..char * p是一个字符指针,我想在该指针中存储10作为字符...因为我想编写基于整数value.how生成字符流的迭代,用整数(作为char)进行char连接,类似的java代码如下:

for(int i=0; i<10; i++)
{
  string temp=value+i;//here i want to use char* to represent string in c++
  System.out.println(temp);
}

2 个答案:

答案 0 :(得分:0)

我知道你说的是C ++,但是你也说过char *所以我会把它当作C.用C语言,你不能真的像那样连接。最好的方法是计算所需的字符数,malloc,然后只将字符存储在char数组中。并且记得在使用它时将其释放!在C中,你必须自己做所有事情!

答案 1 :(得分:0)

我对你要做的事感到有些困惑,但是我认为这些信息可能会帮助你解决这个问题:

  1. 在C ++中,您应该主要使用std :: string来保存字符串。
  2. 在常规C中,约定是使用char *来保存字符列表 - 这些char *必须以\ 0结尾为空终止,以便您的代码知道在何处停止打印字符串。
  3. 首选C ++方式,可以使用+运算符连接字符串:
  4. 以下是一个例子:

    std::string myString = "H";
    myString += "e";
    myString += "l";
    
    std::cerr << myString;  //prints "Hel" to console.
    

    您还可以使用可以混合数据类型的字符串流:

    std::stringstream ss;
    ss << "h" << "e" << 7 << myCustomType << std::endl;
    

    另一件值得注意的事情是,你可以在char中存储一个整数值,当你打印它时,它会计算出ascii表示。

    例如:

    char x = 65;  //x = capital A.