私はすでにC言語でこのコードを持っています。カンマで区切られた15個のデータの文字列です。コードはカンマで区切り、すべてのデータを配列[]という単一変数に格納します。最後のカンマの後にデータがない場合、変数x15 = 0が最後のデータコンマを持っていますが、最後の値の後に値がある場合は、その値をintに変換します。検証する配列[15]の値を出力します。これはnullです。そのための条件はありますが、うまくいきません。プログラムはコンパイルした後にブレークします。C言語でのヌル比較
char buf[] ="¶bL0 L3,01,+08590323,-079343001,010215,00000000000000,-tN,000,012689997,001219456,000,7FF2,C07F,0,4,";
printf("\n \n string=[%s]\n\n", buf);
int i = 0;
int u;
char *p = strtok (buf, ",");
char *array[16];
char *y15;
while (p != NULL)
{
array[i++] = p;
p = strtok (NULL, ",");
}
for (i = 0; i <16; ++i){
if(array[15] == NULL){
wbt.x15=0;
}else{
wbt.x15=atoi(array[15]);
}
//printf("data: [%s]\n", array[i]);
}
:
また、私はあなたの
for
ループのようなものにする必要があると思いますか?何らかの理由で段落が存在します。 – nbroなぜ、妥当なブレークポイントを設定しない、e。 g。 'for'ループの始めに、' array'のウォッチとともに、そしてプログラムの実行をステップ実行しますか?あなたは配列の値がどのように変化するかを見ています。 – Jireugi
コンパイル後にプログラムが壊れました...プログラムをコンパイルしたらどうしましたか?プログラムは単にコンパイルした後でも、脳にぶつかったり、書き込んだりすることもありません。しかし、プログラムをコンパイルしても、自発的に破損することはありません。 –