コンマで区切られた文字列を解析して値を出力していますが、MPLAB C コンパイラで実行すると、何らかの理由でこのコードは最初の値しか出力しません。ただし、このコードを Codeblocks で実行すると、すべての値が出力されます。
MPLAB 出力
2
コードブロックの出力
2
100
200
100
コード:
char somestr[] ="2,0100,0200,0100";
char *pt;
int a;
pt = strtok (somestr,",");
while (pt != NULL)
{
a = atoi(pt);
printf("%d\n", a);
pt = strtok (NULL, ",");
}
出力はこのようにしたいと思います
2
0100
0200
0100
では、実際に何が起こっているのでしょうか? ありがとう!