Java 在字符数组中插入一个整数(不是它的ascii)?
这是一个很老的问题。我想在字符数组中插入一个整数。 例如: 编辑:假设我有一个字符数组“char c[20];”。我想在数组中输入数字。 比如: 打印时,输出应为“19x”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
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);
}