首页 文章

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

提问于
浏览
0

我们如何在char *中存储int值作为c中的字符表示...例如,我想存储10..char * p是一个字符指针,我想在该指针中存储10作为字符...因为我想要编写基于整数value生成字符流的迭代 . 用整数(作为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

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

  • 0

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

    • 在C中,您应该主要使用std :: string来保存字符串 .

    • 在常规C中,约定是使用char *来保存字符列表 - 这些char *必须以\ 0结尾,以\ 0结尾,以便您的代码知道停止打印字符串的位置 .

    • 首选C方式,您可以使用运算符连接字符串:

    这是一个例子:

    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.
    

相关问题