:以下のコードではstrtok関数呼び出し
を:私はMyLoggerへの呼び出しをコメントする場合は、すべてが正常に動作しているが、私はsTempNrがトークン化を取得し、4つのトークンが印刷されます。 しかし、MyLoggerへの呼び出しをコメント解除してロギングを行うと、繰り返しは1回だけ実行され、他のテストクラスでは、以下のようなコードでMyLoggerに冗長な情報が送られてループが4回以上発生します。
そこで、PurifyツールでMyLoggerにメモリの問題がないかどうかを調べました。 何も見つかりませんでした。 MyLoggerはvaargsを使ってargsとvfprintfを呼び出してprintを呼び出しています。
このコードをさらにデバッグする方法がわかりません。どのような指導もいただければ幸いです。
char sTempNr[41] = "1129Z13589.2.9.10";
char *sTempStr;
sTempStr = NULL;
sTempStr = strtok(sTempNr,".");
while (sTempStr)
{
printf("in in TempStr[%s]\n",sTempStr);
//MyLogger("write","","Temp String[%s]",sTempStr);
sTempStr = strtok(NULL,".");
}
を変更した場合参照)、それは任意のツールとC. –
@デビッド同様程度非常識なものであると考えて - あなたの場合不注意にあなた自身(または他人)を傷つけますが、決してツールを使用すべきではありません。 – qrdl
彼はそうです。 strtok()の問題は「不注意」なユーザとは無関係であり、完全に悪いライブラリ設計に限られています。 –