ボリュームを追跡するために使用する unsigned long long があります。ボリュームは、別の unsigned long long によってインクリメントされます。5 秒ごとにこの値を出力し、値が 32 ビットの符号なし最大値に達すると、printf は負の値を返します。コード スニペットは次のとおりです。
unsigned long long vol, vold;
char voltemp[10];
vold = 0;
後で...
while (TRUE) {
vol = atoi(voltemp);
vold += vol;
fprintf(fd2, "volume = %llu);
}
私は何を間違っていますか?これは、RedHat 4 2.6.9-78.0.5.ELsmp gcc バージョン 3.4.5 で動作します。