比如有这段代码
int a = 10;
int b = 20;
int c = 30;
char con[3];
memset(con,0,3);
con[0] = a;
con[1] = b;
con[2] = c;
int s = 0;
char c_con2[20];
memset(c_con2,0,20);
for (int i = 0;i < 3;i++)
{
c_con2[s] = con[i];
c_con2[s+1] = ',';
s = s + 2;
}
CString cs_con = "";
cs_con.Format(_T("%s"),c_con2);
我的目的是想由3个int值得到一个字符串CString = “10,20,30”,但是现在得到的是乱码,正确的该怎么写啊。
å®ä¹ä¸ä¸ªæ°ç»char a[10];
æä¹ç»è¿ä¸ªæ°ç»èµå¼å¢ï¼
1ãå®ä¹çæ¶åç´æ¥ç¨å符串èµå¼
char a[10]="hello";
注æï¼ä¸è½å å®ä¹åç»å®èµå¼ï¼å¦char a[10]; a[10]="hello";è¿æ ·æ¯é误çï¼
2ã对æ°ç»ä¸å符é个èµå¼
char a[10]={'h','e','l','l','o'};
3ãå©ç¨strcpy
char a[10]; strcpy(a, "hello");
æéæ åµï¼
1ãchar a[10]; a[10]="hello";//ä¸ä¸ªå符æä¹è½å®¹çº³ä¸ä¸ªå符串ï¼åµä¸a[10]ä¹æ¯ä¸åå¨çï¼
2ãchar a[10]; a="hello";//è¿ç§æ åµå®¹æåºç°ï¼aè½ç¶æ¯æéï¼ä½æ¯å®å·²ç»æåå¨å æ ä¸åé ç10个å符空é´ï¼ç°å¨è¿ä¸ªæ åµaåæåæ°æ®åºä¸çhello常éï¼è¿éçæéaåºç°æ··ä¹±ï¼ä¸å 许ï¼
main()
{
char s[30];
strcpy(s, "Good News!"); /*ç»æ°ç»èµå符串*/ .
}
ä¸é¢ç¨åºå¨ç¼è¯æ¶, éå°char s[30]è¿æ¡è¯å¥æ¶, ç¼è¯ç¨åºä¼å¨å åçæå¤çåºè¿ç»30个åèçåºå, 并å°ç¬¬ä¸ä¸ªåèçå°åèµç»sãå½éå°strcpy( strcpy 为Turbo C2.0çå½æ°)æ¶, é¦å å¨ç®æ æ件çæå¤å»ºç«ä¸ä¸ª"Good News!/0" çå符串ãå ¶ä¸/0表示å符串ç»æ¢, ç»æ¢ç¬¦æ¯ç¼è¯æ¶èªå¨å ä¸ç, ç¶åä¸ä¸ªå符ä¸ä¸ªå符å°å¤å¶å°sææçå ååºåãå æ¤å®ä¹å符串æ°ç»æ¶, å ¶å ç´ ä¸ªæ°è³å°åºè¯¥æ¯å符串çé¿åº¦å¤1ã
æä¹ç»è¿ä¸ªæ°ç»èµå¼å¢ï¼
1ãå®ä¹çæ¶åç´æ¥ç¨å符串èµå¼
char a[10]="hello";
注æï¼ä¸è½å å®ä¹åç»å®èµå¼ï¼å¦char a[10]; a[10]="hello";è¿æ ·æ¯é误çï¼
2ã对æ°ç»ä¸å符é个èµå¼
char a[10]={'h','e','l','l','o'};
3ãå©ç¨strcpy
char a[10]; strcpy(a, "hello");
æéæ åµï¼
1ãchar a[10]; a[10]="hello";//ä¸ä¸ªå符æä¹è½å®¹çº³ä¸ä¸ªå符串ï¼åµä¸a[10]ä¹æ¯ä¸åå¨çï¼
2ãchar a[10]; a="hello";//è¿ç§æ åµå®¹æåºç°ï¼aè½ç¶æ¯æéï¼ä½æ¯å®å·²ç»æåå¨å æ ä¸åé ç10个å符空é´ï¼ç°å¨è¿ä¸ªæ åµaåæåæ°æ®åºä¸çhello常éï¼è¿éçæéaåºç°æ··ä¹±ï¼ä¸å 许ï¼
main()
{
char s[30];
strcpy(s, "Good News!"); /*ç»æ°ç»èµå符串*/ .
}
ä¸é¢ç¨åºå¨ç¼è¯æ¶, éå°char s[30]è¿æ¡è¯å¥æ¶, ç¼è¯ç¨åºä¼å¨å åçæå¤çåºè¿ç»30个åèçåºå, 并å°ç¬¬ä¸ä¸ªåèçå°åèµç»sãå½éå°strcpy( strcpy 为Turbo C2.0çå½æ°)æ¶, é¦å å¨ç®æ æ件çæå¤å»ºç«ä¸ä¸ª"Good News!/0" çå符串ãå ¶ä¸/0表示å符串ç»æ¢, ç»æ¢ç¬¦æ¯ç¼è¯æ¶èªå¨å ä¸ç, ç¶åä¸ä¸ªå符ä¸ä¸ªå符å°å¤å¶å°sææçå ååºåãå æ¤å®ä¹å符串æ°ç»æ¶, å ¶å ç´ ä¸ªæ°è³å°åºè¯¥æ¯å符串çé¿åº¦å¤1ã
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-10-15
#include <stdio.h>
#include<string.h>
int main()
{
int a = 10;
int b = 20;
int c = 30;
char con[3][3];
sprintf(con[0],"%d",a);
sprintf(con[1],"%d",b);
sprintf(con[2],"%d",c);
char c_con2[20];
memset(c_con2,0,20);
for (int i = 0;i < 3;i++){
strcat(c_con2,con[i]);
strcat(c_con2,";");
}
printf("%s\n",c_con2);
}
#include<string.h>
int main()
{
int a = 10;
int b = 20;
int c = 30;
char con[3][3];
sprintf(con[0],"%d",a);
sprintf(con[1],"%d",b);
sprintf(con[2],"%d",c);
char c_con2[20];
memset(c_con2,0,20);
for (int i = 0;i < 3;i++){
strcat(c_con2,con[i]);
strcat(c_con2,";");
}
printf("%s\n",c_con2);
}
输出:10;20;30;
追问现在int a = 10,如果int a = 1024;那 char con[3][3][3][3];?
追答char con[3][5]
3表示需要存储3个字符串,5表示每个字符串长度为5。
明白了,谢谢了
本回答被提问者采纳