以前,用Qt,现在用VS2015,在输出提示信息的时候,不是cout,就是printf,那个都没有用qt的时候QString().arg()…来的方便,又懒得百度c++有没有相似的用法,就自己写一个凑合着用吧!


#pragma once
#ifndef ERRORMSG_H
#define ERRORMSG_H
#include <iostream>
#include <string>
#include <map>
#include <list>
#include <vector>
#include <queue>
#include <iterator>
using namespace std;
class MString
{
public:MString() = default;MString(const char*);MString Marg(const int);MString Marg(const char *);MString Marg(const char);void Work(const string &str);string c_string();int all;int times;vector<string> s_list;
private:string  out;
};
void Error(MString);
void Error(string, int);
#endif // !ERRORMSG_H

.c

#include "stdafx.h"
#include "ErrorMsg.h"
void Error(MString str)
{cout << ">>>>Error: " << str.c_string() << endl;
}
void Error(string str, int num)
{cout << ">>>>Error: " << str << "[" << "]" << endl;
}MString::MString(const char* chArr)
{string str = chArr;string buf = "";times = 0;all = 0;for (int i = 0; i < str.size(); ++i){if (str[i] == '%'){times = atoi(&str[i + 1]);i++;if (buf.empty()){s_list.push_back(string());}else{s_list.push_back(buf);buf.clear();}continue;}buf.push_back(str[i]);if (i == str.size() - 1){s_list.push_back(buf);buf.clear();}}
}
void  MString::Work(const string &str)
{all++;out += s_list[all - 1] + str;if (all == times){if (all<s_list.size()){out += s_list.back();s_list.clear();}}
}
string MString::c_string()
{return out;
}
MString MString::Marg(const int num)
{string str = to_string(num);Work(str);return *this;
}
MString MString::Marg(const char * chPtr)
{string str = chPtr;Work(str);return *this;
}
MString MString::Marg(const char ch)
{string str ;str.push_back(ch);Work(str);return *this;
}

创建一个表格

取经团队:

参与者 类型
大唐妖僧 人类
齐天大圣 石猴
天蓬元帅 野猪
卷帘大将 人类
龙太子 爬虫

任务目标

最终任务
取得真经
子任务
金蝉遭贬
出胎几杀
满月抛江
寻亲报冤
出城逢虎
落坑折从
双叉岭上
两界山头
陡涧换马第九难,(遇小白龙)
夜被火烧第十难,
失却袈裟十一难,(黑风山熊罴怪,还有狼精蛇精属于小boss)
收降八戒十二难,(遇上猪八戒)
黄风怪阻十三难,(黄风怪)
请求灵吉十四难,
流沙难渡十五难,(遇沙僧)
收得沙僧十六难,
四圣显化十七难,
五庄观中十八难,
难活人参十九难,(镇元子是仙不算妖怪)
贬退心猿二十难,(白骨精)
黑松林失散二十一难,
宝象国捎书二十二难,
金銮殿变虎二十三难,(宝象国遇黄袍怪)
平顶山逢魔二十四难,(金银角大王)
莲花洞高悬二十五难,(金银角的干妈九尾狐)
乌鸡国救主二十六难,(狮猁怪)
被魔化身二十七难,
号山逢怪二十八难,(遇红孩儿)
风摄圣僧二十九难,
心猿遭害三十难,
请圣降妖三十一难,
黑河沉没三十二难,(黑水河遇鼍龙)
搬运车迟三十三难,(车迟国斗法)
大赌输赢三十四难,
祛道兴僧三十五难,
路逢大水三十六难,(通天河遇鲤鱼精)
身落天河三十七难,
鱼篮现身三十八难,
金兜山遇怪三十九难,(遇青牛怪)
普天神难伏四十难,
问佛根源四十一难,
吃水遭毒四十二难,(悟空打水遇如意真仙)
西梁国留婚四十三难,(女儿国王留婚,这不是妖怪)
琵琶洞受苦四十四难,(琵琶洞遇蝎子精)
再贬心猿四十五难,(遇假孙悟空六耳猕猴)
难辨猕猴四十六难,
路阻火焰山四十七难,(遇铁扇公主、牛魔王、玉面狐狸一家)
求取芭蕉扇四十八难,
收缚魔王四十九难,
赛城扫塔五十难,(万圣龙王、九头虫)
取宝救僧五十一难,
棘林吟咏五十二难,
小雷音遇难五十三难,(遇黄眉大王)
诸天神遭困五十四难,
稀柿疼秽阻五十五难,(遇蟒蛇精)
朱紫国行医五十六难,
拯救疲癃五十七难,
降妖取后五十八难,(遇赛太岁金毛犼)
七情迷没五十九难,(遇七蜘蛛精)
多目遭伤六十难,(遇多目怪)
路阻狮驼六十一难,(遇狮驼岭三怪:青狮白象大鹏)
怪分三色六十二难,
城里遇灾六十三难,
请佛收魔六十四难,
比丘救子六十五难,(小子国遇鹿精)
辨认真邪六十六难,
松林救怪六十七难,(遇地涌夫人白鼠精)
僧房卧病六十八难,
无底洞遭困六十九难,
灭法国难行七十难,(灭法国王不是妖怪)
隐雾山遇魔七十一难,(遇豹子精)
凤仙郡求雨七十二难,
失落兵器七十三难,(遇黄狮精)
会庆钉钯七十四难,
竹节山遭难七十五难,(遇九灵元圣九头狮子精)
玄英洞受苦七十六难,(避暑避寒避尘三犀牛怪)
赶捉犀牛七十七难,
天竺招婚七十八难,(玉兔精)
铜台府监禁七十九难,
凌云渡脱胎八十难,
通天河遇鼋湿经书

取经流程图

Created with Raphaël 2.2.0组队上路81难?回家yesno

C++实现Qt中QString().arg().arg()...的用法相关推荐

  1. QT中QString的所有类用法大全

    前言 之前用到QT中QString的用法,但总是忘记,这次自己整理出来,自己想用可以随时查看,同时也可以帮助到大家. 文章目录 前言 一.QString与其他变量的转换 1.QString::numb ...

  2. [转]QT中QString与string的转化,解决中文乱码问题

    [转]QT中QString与string的转化,解决中文乱码问题 参考文章: (1)[转]QT中QString与string的转化,解决中文乱码问题 (2)https://www.cnblogs.co ...

  3. Qt中 QString 和int,double等的转换

    Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString:: ...

  4. QT中QString 和 LPCWSTR 的相互转换

    在windosw 编程中,常用到LPCWSTR 变量,QT中最常用到QString,下面提供QString和LPCWSTR 相互转换的方法 1.把 LPWSTR 转换成QString LPCWSTR ...

  5. Qt中 QString 和 int char char*等相互转换

    在编写Qt程序过程中经常遇到各种数据类型的转换,故此写下来方便自己和大家的查找.叮!!! 1.QString to char* QString qstr = "hello"; ch ...

  6. 【QT小记】QT中QString与常用字符编码转换

    前言 记录在使用QString的过程中与常用字符编码的转换方法以及乱码的可能原因和解决方法 例子 字符串 编码方式 十六进制 林 Unicode 0x6797 GBK 0xC1D6 UTF8 0xE6 ...

  7. Qt中QString、int、char、QByteArray、std::string【八大转换】

    1.int 转 QString //int 转 QString int m=1; QString b; b=QString::number(m) 2.QString 转int QString a=&q ...

  8. Qt中QString转string中文乱码问题

    QString与string相互转换可以用如下方法: QString::toStdString(); QString::fromStdString(); 数字和QString互相转换: QString ...

  9. Qt中 Qstring 与QbyteArray的互相转换

    摘自博客:http://blog.csdn.net/xgbing/article/details/7771898 QByteArray与QString之间的转换: 示例: [cpp] view pla ...

最新文章

  1. xml信息管理系统_WPF信息管理系统项目实战教程二:使用XAML实现页面布局
  2. 漂亮的HTML表格 - ebirdfighter的日志 - 网易博客
  3. OpenCV函数 Canny 检测边缘
  4. JS浮点数运算Bug的解决办法(转自百度文库)
  5. 使用PowerShell 链接Azure 查看信息
  6. C语言Fibonacci 数列
  7. linux c++ 获取时间,详解Linux下的C++时间类型:time_t
  8. bios是固定在微型计算机上的一块RoM,计算机硬件笔试试题
  9. 浏览器字体大小设置_CSS之 浏览器解析样式的过程
  10. 试卷汇编与解析二级C语言,计算机等级考试试卷汇编与解析
  11. redis配置文件参数详解
  12. 网站微端服务器,微端服务器
  13. secureCRT使用退格键(backspace)出现^H解决的方法
  14. 再举个webstrom 正则应用例子。
  15. 《java程序设计》第十一周学习小结 201671010130
  16. USACO Training3.3亚瑟王的宫殿【搜索】By cellur925
  17. springboot 获取web服务端口_我是这样使用SpringBoot(WEB服务)
  18. MFC列表控件(ListControl)
  19. Android底层开发实战PDF
  20. 计算机瑞士留学经验,我在瑞士留学的点滴记录

热门文章

  1. WIN10安装office2003/7失败 WIN10安装office2003权限不足解决
  2. 移动端页面数字占用空间不同的问题
  3. 在Linux下开发简易通讯录
  4. 从无到有axure原型设计_互联网产品如何从无到有聚集用户?
  5. C++string转int的方法
  6. 平板android怎么截屏,iPad怎么截屏 iPad截屏的3种方式
  7. acro design内置的echarts组件 vue-echarts 自适应失效
  8. python爬取b站403_python3——爬取B站弹幕
  9. LaTex 之 爱思唯尔(ELSEVIER)模板使用技巧
  10. lol里的一个英雄玩了上千把是什么感觉