我正在使用a 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
Run Code Online (Sandbox Code Playgroud)
结果字符串将如下所示:
|Data |
| Data|
Run Code Online (Sandbox Code Playgroud)
下面是一个示例,说明如何实现动态(可变长度)填充:
CString s;
int n = 10;
s.Format(_T("|%-*s|"), n, _T("Data")); // left-align
s.Format(_T("|%*s|"), n, _T("Data")); // right-align
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |