我想將浮點數轉換爲串行連接發送的字符串。 我已經使用sprintf,並且以前工作過,但是我現在正在運行mbed RTOS,它在到達sprintf行時掛起。MBED RTOS將浮點數轉換爲字符串/字符數組
以下是代碼在while循環中停止的行,Im從端口中的mbed模擬器收集數據並需要通過串行顯示它。
sprintf (buffer, ",%.2f,%.2f,%.2f,%.2f", sData1[0], sData1[1], sData1[2], sData1[3]);
我已經使用c_str()在RTOS下成功地將字符串轉換回浮點數。
是否有類似於c_str()從float轉換爲字符串而不使用sprintf方法?
我們不知道,如果'buffer'是大到足以容納結果字符串。請發佈聲明'buffer'的內容。 – PaulMcKenzie
@PaulMcKenzie對不起,錯過了。其聲明爲「char * buffer」; – NoLiver92
是的,但緩衝區大小在哪裏?你不能簡單地聲明一個未初始化的指針並將它傳遞給'sprintf'。如果你這樣做,那麼並不奇怪,事情並不奏效。也許一直以來的問題是,你正在逃避不明確的行爲並相信事情正在發揮作用。 – PaulMcKenzie