CString输出文本对齐处理
Posted zeqi1991
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CString输出文本对齐处理相关的知识,希望对你有一定的参考价值。
int HasChineseChar(const CString& str)
CString content;
int count = 0;
for (int i = 0; i < str.GetLength(); i++)
if (str.GetAt(i) > 255)
content += str.GetAt(i);
count++;
return count;
void CMFCApplication1Dlg::OutputLDCaseCoe()
CStdioFileEx file;
if (!file.Open(_T("LDCaseCoe.txt"), CFile::modeCreate | CFile::modeWrite | CStdioFileEx::modeWriteUnicode, nullptr))
return;
file.WriteString(_T("-------------荷载组合分项系数-------------\\n"));
std::vector<CString> LDCaseStrVec;
LDCaseStrVec.push_back(_T("DL"));
LDCaseStrVec.push_back(_T("地面堆载"));
LDCaseStrVec.push_back(_T("覆土荷载"));
LDCaseStrVec.push_back(_T("侧向土压力(低)"));
LDCaseStrVec.push_back(_T("水压力(低)"));
LDCaseStrVec.push_back(_T("侧向土压力(常)"));
LDCaseStrVec.push_back(_T("LL[专用]"));
LDCaseStrVec.push_back(_T("LL1"));
LDCaseStrVec.push_back(_T("LL2"));
LDCaseStrVec.push_back(_T("水浮力"));
LDCaseStrVec.push_back(_T("EX"));
LDCaseStrVec.push_back(_T("EY"));
LDCaseStrVec.push_back(_T("SOIL"));
//随机数
std::default_random_engine e;
std::uniform_real_distribution<double> u(0, 1);
e.seed(10);
std::vector<int> spaceLengthVec;
CString str;
for (size_t i = 0; i < LDCaseStrVec.size(); i++)
CString stemp = LDCaseStrVec[i];
CString result;
result.Format(_T(" %s"), stemp);
str += result;
int count = HasChineseChar(result);
int length = result.GetLength();
if (count > 0)
length += count;
spaceLengthVec.push_back(length);
str += _T("\\n");
file.WriteString(str);
str = _T("");
for (int i = 0; i < 10; i++)
for (size_t j = 0; j < LDCaseStrVec.size(); j++)
CString temp;
temp.Format(_T("%%%d.2f"), spaceLengthVec[j]);
CString result;
double randomValue = u(e);
result.Format(temp, randomValue);
str += result;
str += _T("\\n");
file.WriteString(str);
file.Close();
以上是关于CString输出文本对齐处理的主要内容,如果未能解决你的问题,请参考以下文章