找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 22|回复: 0

CString输出文本对齐处理

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-10-3 17:15:04 | 显示全部楼层 |阅读模式
  1. int HasChineseChar(const CString& str)
  2. {
  3.     CString content;
  4.     int count = 0;
  5.     for (int i = 0; i < str.GetLength(); i++)
  6.     {
  7.         if (str.GetAt(i) > 255)
  8.         {
  9.             content += str.GetAt(i);
  10.             count++;
  11.         }
  12.     }
  13.     return count;
  14. }
  15. void CMFCApplication1Dlg::OutputLDCaseCoe()
  16. {
  17.     CStdioFileEx file;
  18.     if (!file.Open(_T("LDCaseCoe.txt"), CFile::modeCreate | CFile::modeWrite | CStdioFileEx::modeWriteUnicode, nullptr))
  19.         return;
  20.     file.WriteString(_T("-------------荷载组合分项系数-------------\n"));
  21.     std::vector<CString> LDCaseStrVec;
  22.     LDCaseStrVec.push_back(_T("DL"));
  23.     LDCaseStrVec.push_back(_T("地面堆载"));
  24.     LDCaseStrVec.push_back(_T("覆土荷载"));
  25.     LDCaseStrVec.push_back(_T("侧向土压力(低)"));
  26.     LDCaseStrVec.push_back(_T("水压力(低)"));
  27.     LDCaseStrVec.push_back(_T("侧向土压力(常)"));
  28.     LDCaseStrVec.push_back(_T("LL[专用]"));
  29.     LDCaseStrVec.push_back(_T("LL1"));
  30.     LDCaseStrVec.push_back(_T("LL2"));
  31.     LDCaseStrVec.push_back(_T("水浮力"));
  32.     LDCaseStrVec.push_back(_T("EX"));
  33.     LDCaseStrVec.push_back(_T("EY"));
  34.     LDCaseStrVec.push_back(_T("SOIL"));
  35.     //随机数
  36.     std::default_random_engine e;
  37.     std::uniform_real_distribution<double> u(0, 1);
  38.     e.seed(10);
  39.     std::vector<int> spaceLengthVec;
  40.     CString str;
  41.     for (size_t i = 0; i < LDCaseStrVec.size(); i++)
  42.     {
  43.         CString stemp = LDCaseStrVec[i];
  44.         CString result;
  45.         result.Format(_T("     %s"), stemp);
  46.         str += result;
  47.         int count = HasChineseChar(result);
  48.         int length = result.GetLength();
  49.         if (count > 0)
  50.             length += count;
  51.         spaceLengthVec.push_back(length);
  52.     }
  53.     str += _T("\n");
  54.     file.WriteString(str);
  55.     str = _T("");
  56.     for (int i = 0; i < 10; i++)
  57.     {
  58.         for (size_t j = 0; j < LDCaseStrVec.size(); j++)
  59.         {
  60.             CString temp;
  61.             temp.Format(_T("%%%d.2f"), spaceLengthVec[j]);
  62.             CString result;
  63.             double randomValue = u(e);
  64.             result.Format(temp, randomValue);
  65.             str += result;
  66.         }
  67.         str += _T("\n");
  68.         file.WriteString(str);
  69.     }
  70.     file.Close();
  71. }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-27 21:59 , Processed in 0.148738 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表