-1
#include "stdio.h"
#include "conio.h"
int main()
{
    char str1[]=asc(20);
    char str2[]="SpApp|";
    strcat(str1,str2);  
    printf(str1);
    getch();  
}

int最初にコードに変換しASCII、次にプログラムと連結しSpApp|て値を出力するプログラムを作成したいと思いますc

printf("%c",20);変換も行いますがASCII、別の場所に保存してからchar str1[]連結する方法がわかりません。char str2[];

4

4 に答える 4

1

snprintf()が追加された文字列を含むバッファを作成するために使用します。int

char str2[32];
snprintf(str2, sizeof(str2), "SpApp|%d", 20);
于 2012-12-14T09:21:38.837 に答える
0

このasc関数は文字列ではなく単一の文字を返すため、配列str1には終了する特殊文字は含まれません'\0'

str1適切に初期化する必要があります。

char str1[] = { asc(20), '\0' };

2番目の問題は、宛先文字列が、開始する文字列それに追加する追加str2の文字列の両方を含むのに十分な大きさではないことです。両方の文字列を含めるのに十分な大きさにする必要があります。

char str2[16] = "...";
于 2012-12-14T09:21:54.193 に答える
0

次のようにstr1とstr2のポインタを使用してみてください。

char *str1 = "string1";
char *str2 = "string2";
于 2012-12-14T09:22:10.833 に答える
0
#include "stdio.h"

int main() {
    char a[MAX_BUFFER];
    char res[MAX_BUFFER];

    itoa(20, a, 10);
    sprintf(res, "SpApp|%s", a);
    printf("%s", res);
}
于 2012-12-14T09:25:29.253 に答える