文字列をフォーマットするために sprintf 関数を呼び出すと、予期しないものが出力されました
printf("%d;%s;%s;%d;%d;\n", ptr->programmaType, ptr->titel, ptr->zender, ptr->start, ptr->einde);
「0;Stargate;scifi;0;0;」を出力します その間
printf("%d;", ptr->einde);
ptr->einde の値である "42" を出力します。私も試してみました
printf("%d;%s;%s;%d;%d;", 0, "Stargate", "scifi", 0, 42);
これは正しく印刷されるので、問題は変数に関連していると思います。最後に試したのは
int bug = ptr->einde;
printf("%d;%s;%s;%d;%d;\n", ptr->programmaType, ptr->titel, ptr->zender, ptr->start, bug);
これも正しく印刷できませんでした...何が起こっているのかわかりません。
注: ptr->start および ptr->einde は time_t 型として定義されていますが、printf が単一の引数で動作することを確認すると、それが問題であるとは思えません。