私は最初の2つをコピーして配列に追加し、中間の2つをコピーして最後の2つを追加して追加しますそれらを配列に変換します。文字をCの文字列から別の文字列にコピー
これは私が何をすべきかです:
char color1[2];
char color2[2];
char color3[2];
strncpy(color1, string, 2); // I take the first two characters and put them into color1
// now I truncate the string to remove those AA values:
string = strtok(string, &color1[1]);
// and when using the same code again the result in color2 is bbAA:
strncpy(color2, string, 2);
それは、私はそれは私にいくつかの大きな値を与えることにstrtolはを使用する場合、配列は、2つだけの場所を持っているにもかかわらず... BBも前のものからAAそれらを渡します私が探している187ではない。それをどうやって取り除くのか?またはそれを他の方法で動作させる方法アドバイスをいただければ幸いです。
のchar *文字列がNULL終端されています。あなたは(私は187に0xbb変換するときにあなたが想定する)文字列として、あなたのコード内でcolorXを使用する場合は、なぜ、あなただけの2つの文字をスキップしたい場合は0 –
にこのバイトを設定し、1つのバイトの広告でそれらを拡張する必要がありますあなたは、単にstrncpyを(カラー2、文字列+ 2、2) 'のような何かをしません。 color2 [2] = '\ 0''など? – Anthales
は、ええ、あなたの両方を感謝..私はあなたが187探していることは言うが、それはの残りの部分から明らかでない私は、すべての – Markus