0

ポインターがあり、sprintf を使用して文字列に渡しますが、文字列内の要素にアクセスしようとすると問題が発生します。

私が欲しいのはabcde、新しい文字列を作成するための文字列へのポインタがある場合です

seg[5]="a,b,c,d,e"

私が電話したときにseg[0]私が得るように"a".

以下にいくつかのコードがあります

     char *pch5;
     char seg1[128];

     pch5=strtok(seg,",");
                                if(pch5!=NULL){
                                sprintf(seg1,"%s",pch5);
                                    printf("%s",seg1[0]);
                                }
4

2 に答える 2

1

あなたの printf は間違っています。フォーマット %s を使用していますが、必要なのは %c です。

于 2012-08-16T17:19:47.403 に答える
0

strlen("a,b,c") == 5 であるため、ここで seg[5] は文字列 "a,b,c" のみを保持します。ただし、完全な文字列を使用する場合は、次のようにします。

seg[] = "a,b,c,d,e";

于 2012-08-16T17:20:42.597 に答える