簡體   English   中英

如何在CStdioFile中寫空格?

[英]How to write white spaces in a CStdioFile?

我正在使用CStdioFile並嘗試在編寫CString之前保留許多空格。 我試過CStdioFile.Seek(iNumOfSpaces, CStdioFile::current)我寫了字符串。 問題是,當我在Notepad ++中打開文件時,它寫的是NUL而不是空格。 如何將空格寫成白色而不是NUL? 提前致謝

您誤解了CFile::Seek()方法的作用。 它將文件指針絕對或相對地移動到指定位置。 它不會添加/修改文件的內容。

相反,您應該使用支持填充的CString::Format()方法。 這是一個顯示如何使用它的示例:

CString s;  
s.Format(_T("|%-10s|"), _T("Data")); // left-align
s.Format(_T("|%10s|"), _T("Data")); // right-align

結果字符串看起來像:

|Data      |
|      Data|

這是顯示如何實現動態(可變長度)填充的示例:

CString s;  
int n = 10;
s.Format(_T("|%-*s|"), n, _T("Data")); // left-align
s.Format(_T("|%*s|"), n, _T("Data")); // right-align

1。

CString hh="i7mjmhb";
CString h(' ',31);
hh=h+hh;

2。

CString hh=L"i7mjmhb";
CString h(L' ',31);
hh=h+hh;

對於文件,很遺憾,不知道是ASCII還是Unicode的東西

暫無
暫無

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

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