我想寫一個客戶端可以用來瀏覽服務器的目錄的TCP服務器。除此之外,如果這是一個普通文件,我想發送目錄的大小。文件的大小保存在「stat」結構下的size_t變量中。 我在這裏做這個:轉換size_t到字符串
char *fullName /* The path to the file *.
/**
* Some code here
*/
struct stat buffer;
lstat(fullName, &buffer)
所以現在buffer.st_size包含文件的大小。現在我想寫它()到監聽套接字,但顯然我必須以某種方式將其轉換爲字符串。我知道這可以用按位右移(>>)操作符以某種方式完成,但對我來說似乎太痛苦了。你能幫我一下嗎(即使沒有其他那些按位運算符)?
通過這不是學校或不便的方式......
PS:我在Linux上運行此。
有人誰沒有自己的頭頂......你知道你的東西! ;-) –
我對使用sprintf()和snprintf()的內存有不好的經驗,但這不完全是我想要的,這是我的錯,我沒有解釋得很好。我其實想把這個尺寸轉換成它的縮放比例。例如123456789將被寫爲「117,73 MB」。現在我知道我可以使用這樣一個事實,即數字0-9對於整數和字符串具有相同的ascii代碼,但我不知道如何實際執行它。我嘗試了幾件事,但每次都失敗。 感謝您的輸入。 – revIah
@ user3119598:「*我對使用sprintf()和snprintf()... *的內存有不好的使用經驗......」這只是一個培訓問題。這些功能保存並直接使用。它們比使用它們的危險性小得多,例如'scanf *()'-clan的對應物。訓練使用'sprintf()'函數,因爲它們是必不可少的。 – alk