具体程序很长,我不想写;但有一个问题想了好长时间,请不吝赐教。
char *p=szText; //定义一个指针,指向字符数组元素
for(int k=0;k<j;k++)
{
printf("%x",m2[k]);
itoa(m2[k],szText,10);
p++
}
//我这个程序中szText[]是一个字符数组,m2[]是一个整型数组,现在我想把m2[]中的十进制数(许多个)转化为字符型并依次存到szText[]中,于是用了itoa函数。但是调试发现结果不对。该怎么办?另外,指针是我后加的,为了依此递增字符数组,但似乎如果十进制数很大时就不行了,该怎么改?
你的思维比较混乱,其实很简单:
#include <stdio.h>运行结果如下:
追问谢谢你的帮忙,我想问一下,我不需要打印,就只想把全部字符存放在szText数组中,该怎么做?
追答这也很简单,用一个二维数组就OK了
#include <stdio.h>谢谢你的帮忙,我想问一下,我不需要打印,就只想把全部字符存放在szText数组中,该怎么做?
追答不是给你已经做完了吗?不打印就把打印语句printf("%s\n",szText[k]);删除就行了啊。好像都没有看答案就又追问了。完全是在与未入门者打交道……
那该怎么解决?
追答不知道你这部分的设计思路?你可以写一个边界检测然后越界给个提示信息让输入者重新输入就好了。不过不能直接让对方输入char类型么?
追问我做的是加解密系统,必须由整型再变为字符型,发送给客户端。
追答那么用个二维字符数组,或者字符指针数组来保存。
另外itoa本身是返回一个char* 所以你之前用一个char保存也是不够的,你用数组或者char*保存就好了