Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在字符数组中插入一个整数(不是它的ascii)?_Java_C_Ascii - Fatal编程技术网

Java 在字符数组中插入一个整数(不是它的ascii)?

Java 在字符数组中插入一个整数(不是它的ascii)?,java,c,ascii,Java,C,Ascii,这是一个很老的问题。我想在字符数组中插入一个整数。 例如: 编辑:假设我有一个字符数组“char c[20];”。我想在数组中输入数字。 比如: 打印时,输出应为“19x” PS:我不希望在数组中插入与ascii等效的整数。在Java中,可以使用StringBuilder作为字符数组 StringBuilder sb = new StringBuilder(); sb.append(10); // add "10" as text. 如果您只需要一个带有您可以使用的数字的字符串 String

这是一个很老的问题。我想在字符数组中插入一个整数。 例如:

编辑:假设我有一个字符数组“char c[20];”。我想在数组中输入数字。 比如:

打印时,输出应为“19x”


PS:我不希望在数组中插入与ascii等效的整数。

在Java中,可以使用StringBuilder作为字符数组

StringBuilder sb = new StringBuilder();
sb.append(10); // add "10" as text.
如果您只需要一个带有您可以使用的数字的字符串

String c = Integer.toString(10);

e、 g

在C中:

sprintf
itoa
是很好的功能:

{
    myint = 10;
    char ary[20];
    sprintf(ary, "%d", myint);
}
为了避免缓冲区溢出,强烈建议您使用
snprintf
,但为了简单起见,显示了
sprintf

或者:

{
    myint = 10;
    char ary[20] = {0};
    itoa(ary, myint, 10);
}

那么,“10”到底是什么意思?Unicode 10?(Java和C在字符处理方面有很大的不同。)哦,还要定义你所说的“插入”是什么意思——至少在Java中,数组在创建后不能改变大小,所以你必须覆盖现有的元素。基本上,你需要让你的问题更清楚。是的。它将10转换为其ascii等效值。我希望插入“10”您的意思是希望字符串“10”具有ASCII表示形式吗?同样,我们仍然不清楚,
C
(字符)的ascii值是多少??我认为OP希望存储字符
C
的ascii值问题是
我希望插入'10'
可能意味着很多事情,并且在Java和C中有一个非常不同的实现。为了避免缓冲区溢出,您应该非常小心地使用它。这个例子是安全的,因为一个整数中的字符少于20个。但是它会覆盖字符数组中已经存在的任何字符。
String c = "" + 10;
String c = "before " + a + " after";
{
    myint = 10;
    char ary[20];
    sprintf(ary, "%d", myint);
}
{
    myint = 10;
    char ary[20] = {0};
    itoa(ary, myint, 10);
}