string str;
ABCLog::log.info(str.c_str());
===========================================
编译出问题:任务管理器中的mingw32-make.exe进程数一直增加 解决方法:请检查系统时间是否有错误
====================================================== 模板内定义的PUBLIC域的类型定义,在其他模块中引用时不认 报错:
..\\..\\public\\tinyjson\\tinyjson.hpp|517|error: expected ?;‘ before ?const‘| 解决:
在引用前加: typename
如: json::grammar
改: typename json::grammar
============================================ string 转 int int errCode;
char s_char[16]; string str;
sprintf(s_char,‖%d‖,errCode); str = s_char; int 转 string
string itemCounts;
stringstream sstr(itemCounts); int i; sstr >> i;
std::string 相连 可以用连接符 += 结构体 转 char*
typedef struct S_FeeItem {
char userFeeId[20]; /**< 用户计费id(唯一值) */ char telNum[20] /**< 收费号码 */ }FeeItem;
FeeItem* feeItemBody; char* feeItem; string value;
for (int i = 0; i < *actualItemCounts; i++ ) {
feeItemBody = new(FeeItem);
value = obj[\strcpy(feeItemBody->userFeeId,value.c_str());
value = obj[\strcpy(feeItemBody->telNum,value.c_str());
memcpy(feeItem+sizeof(FeeItem)*i,(char*)feeItemBody,sizeof(FeeItem)); }
char* 转 结构体
typedef struct S_ReceiptsItem {
char userFeeId[20]; /**< 用户计费id(唯一值) */ char status[20]; /**< 状态 0 成功 其他 错误 */ char errMsg[60]; /**< 错误信息描述 */ }ReceiptsItem;
const int MAX_RECEIPTS = 5; int receiptsCounts = 3;
ReceiptsItem receiptsItem[MAX_RECEIPTS]; char* prcp = (char*)&receiptsItem[0];
memcpy(prcp, receiptsItems, sizeof(ReceiptsItem)*receiptsCounts); for(int i=0; i < receiptsCounts; i++) {
//receiptsItem[i].userFeeId; }
=============================================== 在msys环境下显示中文的写法
std::cout< process_begin: CreateProcess(NULL, -c ―if exist libmysqlpp_ssqls2parse.a del libmysqlpp_ssqls2parse.a‖, …) failed. make (e=2): 系统找不到指定的文件。 mingw32-make.exe: *** [libmysqlpp_ssqls2parse.a] Error 2 解决: 在Makefile文件中 注释下面一句 #SHELL := $(COMSPEC) 增加: SHELL=cmd.exe =========================================================== QString 与 std::string互转 string MainWidget::qString2String(QString str) { char* str_char = str.toUtf8().data(); string stdStr = str_char; return stdStr; } QString MainWidget::string2QString(string str) { char* str_char = const_cast ==================================================== 错误: PHP Warning: PHP Startup: Unable to load dynamic library ?/usr/local/php5/lib/php/extensions/daemonsession.so‘ – /usr/local/session/lib/libsession.so.1: undefined symbol: _ZTIN5boost7archive17archive_exceptionE in Unknown on line 0 解决: LINUX在 .pro 文件中加入: -lboost_regex -lboost_serialzation ============================================================ 在msys环境下显示中文的写法 std::cout< putty linux上编译server cd /usr/local/src/tiandi/daemon/server make clean qmake -makefile make 启动 /etc/rc.d/init.d/daemonsd stop cp ./bin/server /usr/local/daemon/ /etc/rc.d/init.d/daemonsd start 查看进程运行情况 ps -A | grep server 28628 pts/0 00:00:00 server 查看当前所在目录 pwd ================================== QJson的用法: QVariantMap mainMap; mainMap.insert(―op_type‖,‖sendSms‖); QVariantList people; QVariantMap data_1; data_1.insert(―sms_id‖, 626); data_1.insert(―mobile_tel‖, ―13860637885″); QVariantMap data_2; data_2.insert(―sms_id‖, 1000); data_2.insert(―mobile_tel‖, ―12345653221″); people << data_1 << data_2; mainMap.insert(―data‖,people); QJson::Serializer serializer; QByteArray json = serializer.serialize(mainMap); qDebug()<<‖json:‖ << json; //json: ―{ ―data‖ : [ { \\ //解析 QJson::Parser parser; bool ok; QVariantMap result = parser.parse (json, &ok).toMap(); if (!ok) { qDebug()<<‖An error occurred during parsing‖; } qDebug()<<‖op_type:‖< qDebug()<<‖sms_id:‖< ======================================================= SuspendableThread 继承自QThread用法 SideBarThread::SideBarThread(QThread *parent) :SuspendableThread(parent) { isFinishRun = false; suspend();//挂起 gpsInteraction = &createGpsInteraction(); operAct = oaNone; timeOutTimeId = 0; } SideBarThread::~SideBarThread() { delete gpsInteraction; gpsInteraction = 0; if (timeOutTimeId != 0) { killTimer(timeOutTimeId); timeOutTimeId = 0; } isFinishRun = true; resume(); wait(); } void SideBarThread::run() { //while (!isFinished()) while (!isFinishRun) { suspendPoint();//设置挂起点 //suspend //resume if (isFinishRun)break; if (operAct == oaGsoapLogin) //登录 { gsoapLogin(); operAct = oaNone; suspend();//挂起 } if (operAct == oaHistoryRoutesQuery) //历史轨迹查询 {