0

iOS に次のような C char 配列があります。

static char aStr[MY_STRING_LENGTH] = {0xc0,0xa7,0x82};

コンソール (p aStr) で調べると、次のような出力が得られます。

(char [MY_STRING_LENGTH]) $1 = "\xc0\xa7\x82"

それはすべて問題ありません。ただし、元の文字列を plist に入れ、構成データとして読み込む必要があります。plist にエントリを NSString として入力した場合、同じ値で C の char 配列を取得するにはどうすればよいですか? これまでのところ、私が試したことはすべて、16 進値を別のものに変換しているようです。

私は次のようなことを試しました:

NSString *newStr = [stringFromPlist UTF8String];

または、次のように NSString を配列​​に分割します。

NSArray *arr = [stringFromPlist componentsSeparatedByString:@","];

次に、次のように繰り返して変換します。

char newArr[MY_STRING_LENGTH];

for (int i = 0; i < MY_STRING_LENGTH; i++) {
    newArr[i] = [arr[i] UTF8String];
}

しかし、これまでのところ、私が必要とするものは何もないようです。「\x」ではなく「0x」を含む char 配列の値になってしまいます。

私のCチョップはこれにはあまりにもさびているので、誰かが私のエラーを指摘してくれることを願っています.

乾杯!

4

1 に答える 1