要在strcat后使用时钟函数产生毫秒,但它只是崩溃,可能是什么问题?无法在输出中显示时钟
FREObject result = 0;
uint32_t len = -1;
const uint8_t *str = 0;
char *temp = "Millisecond: ";
uint8_t *strAll;
clock_t curtime = clock();
double *asc = (double *) curtime; //Using double datatype?
if(FREGetObjectAsUTF8(argv[0], &len, &str) == FRE_OK) {
strAll = (char *)malloc(strlen(temp) + strlen(str) + 1 + strlen(asc) + 1);
strcpy(strAll,temp);
strcat(strAll,str);
strcat(strAll," ");
strcat(strAll,(char *)asc); //Is this correct?
}
FRENewObjectFromUTF8(strlen((const char *)strAll)+1, (const uint8_t *)strAll, &result);
return result;
另外,我认为'clock_t'是一个长整数而不是双精度。 – 2011-12-28 02:53:12
thx,似乎很多工作在双重字符串,我没有找到C上的任何字符串函数?那么将不得不使用Array? – 2011-12-28 03:07:24
@JamesONG将'double'(或'long')转换为C中的字符串,我会推荐['sprintf()'](http://linux.die.net/man/3/sprintf)。 – 2011-12-28 03:18:56