私は Linux C について学び始めましたが、問題に遭遇したので混乱しました。
関数を使用しますtimes
が、値が 0 に等しい値を返します。わかり
ました、間違いを犯しました。コードを変更しました。しかし、printf とはあまり関係がありません。clock_t は Linux では long で定義されているので、clock_t を long に変換します。
これは私のコードです:
#include <sys/times.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
long clock_times;
struct tms begintime;
sleep(5);
if((clock_times=times(&begintime))==-1)
perror("get times error");
else
{
printf("%ld\n",(long)begintime.tms_utime);
printf("%ld\n",(long)begintime.tms_stime);
printf("%ld\n",(long)begintime.tms_cutime);
printf("%ld\n",(long)begintime.tms_cstime);
}
return 0;
}
出力: 0 0 0 0
また、0 を返します。
また、gdbを使用してデバッグし、begintimesの変数もゼロにします。機能を持つ親戚はありませんprintf
。お願いします