string string.h=cstring=str


<string.h>

<string.h>是C版本的头文件,包含比如strcpy、strcat之类的字符串处理函数。

<cstring>

在C++标准化(1998年)过程中,为了兼容以前,标准化组织将所有这些文件都进行了新的定义,加入到了标准库中,加入后的文件名就新增了一个"c"前缀并且去掉了.h的后缀名,所以string.h头文件成了cstring头文件。但是其实现却是相同的或是兼容以前的,这就是<cstring>的来源,不要觉得又多了一个东西。相当于标准库组织给它盖了个章,说“你也是我的标准程序库的一份子了”。

<string>

<string>是C++标准定义的头文件,它定义了一个string的字符串类,里面包含了string类的各种操作,如s.size(), s.erase(), s.insert()等。但<string>又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在<string>的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作。

 

没有<cstring.h>这样的头文件。

转载于:https://www.cnblogs.com/gaoxianzhi/p/5537431.html

``` void CSocketClientTester::ReadJson(string strJson, tagMTFTesterResult& m_tagMTFTesterResult) { Json::CharReaderBuilder readerBuilder; Json::Value root; JSONCPP_STRING errs; // 使用CharReader解析JSON std::unique_ptr<Json::CharReader> reader(readerBuilder.newCharReader()); bool success = reader->parse(strJson.c_str(), strJson.c_str() + strJson.size(), &root, &errs); ; if (success && root.isObject()) { Json::Value Result = root["Result"]; m_tagMTFTesterResult.strFinal = Result["Final"].asString(); m_tagMTFTesterResult.strMTF = Result["MTF"].asString(); m_tagMTFTesterResult.strDOF = Result["DOF"].asString(); m_tagMTFTesterResult.strFocalShift = Result["FocalShift"].asString(); m_tagMTFTesterResult.strAstigmatism = Result["Astigmatism"].asString(); m_tagMTFTesterResult.strFOV = Result["FOV"].asString(); m_tagMTFTesterResult.m_Average.strFinal = Result["Average"]["Final"].asString(); m_tagMTFTesterResult.m_Average.strSymmetricalGroupMTFExtrems = Result["Average"]["SymmetricalGroupMTFExtrems"].asString(); m_tagMTFTesterResult.m_Average.strSymmetricalFielldMTFAverageExtrems = Result["Average"]["SymmetricalFielldMTFAverageExtrems"].asString(); m_tagMTFTesterResult.m_Average.strMTFAverageOfAllCameras = Result["Average"]["MTFAverageOfAllCameras"].asString(); m_tagMTFTesterResult.m_Average.strFieldPositionOfMTFAverage = Result["Average"]["FieldPositionOfMTFAverage"].asString(); m_tagMTFTesterResult.m_Average.strFieldShiftSingleAverage = Result["Average"]["FieldShiftSingleAverage"].asString(); m_tagMTFTesterResult.m_Average.strFocalShiftGroup = Result["Average"]["FocalShiftGroup"].asString(); m_tagMTFTesterResult.m_Average.strFocalShiftAverage = Result["Average"]["FocalShiftAverage"].asString(); m_tagMTFTesterResult.m_Average.strPeakRangeExtrems = Result["Average"]["PeakRangeExtrems"].asString(); m_tagMTFTesterResult.m_Average.strPeakMTFExtrems = Result["Average"]["PeakMTFExtrems"].asString(); m_tagMTFTesterResult.m_Average.strPeakMTFAverage = Result["Average"]["PeakMTFAverage"].asString(); m_tagMTFTesterResult.m_Average.strMTFRatioOfExtremsToMax = Result["Average"]["MTFRatioOfExtremsToMax"].asString(); m_tagMTFTesterResult.strAggregate = Result["Aggregate"].asString(); m_tagMTFTesterResult.strMultiFrqMTF = Result["MultiFrqMTF"].asString(); m_tagMTFTesterResult.strFail_Reason = Result["Fail Reason"].asString(); } else { AfxMessageBox(_T("解析失败: ") + CString(errs.c_str())); } } struct tagMTFTesterResultAverage { string strFinal; string strSymmetricalGroupMTFExtrems; string strSymmetricalFielldMTFAverageExtrems; string strMTFAverageOfAllCameras; string strFieldPositionOfMTFAverage; string strFieldShiftSingleAverage; string strFocalShiftGroup; string strFocalShiftAverage; string strPeakRangeExtrems; string strPeakMTFExtrems; string strPeakMTFAverage; string strMTFRatioOfExtremsToMax; }; struct tagMTFTesterResult { string strFinal; // 最终结果 string strMTF; // MTF结果 string strDOF; // DOF结果 string strFocalShift; // 场曲结果 string strAstigmatism; // 像散结果 string strFOV; // FOV结果 tagMTFTesterResultAverage m_Average; // 均值管控测试结果 string strAggregate; // 综合结果 string strMultiFrqMTF; // 辅助频率结果 string strFail_Reason; // 失败原因 };```优化代码
最新发布
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值