2

以下に示すコードがあります。

#include <stdio.h>
#include <sys/time.h>

typedef struct{
     struct timeval timestamp;
}teststruct;

class TestClass {
     public:
       TestClass();
       void dosomething(int, int);
};

TestClass::TestClass(){
}

void
TestClass::dosomething(int num, int numb) {
}

int main(void){
     TestClass *testclass = new TestClass();
     teststruct test;
     gettimeofday(&test.timestamp, NULL);
     printf("%llu \n", test.timestamp.tv_sec);
     testclass->dosomething(1,1);
     printf("%llu \n", test.timestamp.tv_sec);
}

このコードの出力は次のとおりです。

13825459612132795564 何かをする 5598307500

しかし、最初の数字が台無しになっている理由がわかりません。また、番号が互いに異なるようにするために、クラス呼び出しが完全に必要です。

4

2 に答える 2

4
于 2011-04-20T23:28:01.280 に答える
1

Seems to work if you change the %llu to %lu.

http://codepad.org/YGubabLR

于 2011-04-20T23:28:06.803 に答える