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 回答