簡體   English   中英

在char數組中填充空格

[英]Padding with spaces in char array

我正在編寫一個程序來為特定的圖像格式寫一個頭。 此圖像格式在任何后續原始圖像數據之前需要256個字符作為其標題。 但是我在填充空白以使標題長度為256個字符時遇到問題。

下面是我的問題的抽象:

char pad[256];
sprintf( pad, "header info:%s=%f", "scale", 2.3);
cout<<pad<<"data here"<<endl;

輸出為:

header info:scale=2.300000data here

但是,我期望的結果是:

header info:scale=2.300000                            data here

從文件開頭開始的256個字符后,出現“此處的數據”。 如何更改程序以填充字符數組中的空白?

也許這可以幫助您。 格式-左對齊文本。 例如,以下將使浮動文本的寬度固定為20。默認的空格字符用作填充。

sprintf( pad, "header info:%s=%-20f", "scale", 2.3);

做這個:

cout << setw(256) << left << pad << "data here" <<endl;

您可能需要#include <iomanip>

順便說一句,在您的“真實代碼”中,您應該使用snprintf來確保沒有緩沖區溢出的機會,假設您的%s將獲得一些在運行時確定的參數。 (或者最好用字符串流替換sprintf )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM