要在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