2 jujiawu1024 jujiawu1024 于 2016.03.15 19:01 提问

VIUSUC++ 6.0关于CSTRING替换文字的问题

CSTRING字符串中指定行号,实现整行替换的算法的实现思路是什么?

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.17 00:23
已采纳

这个问题我回答过了,参考:http://ask.csdn.net/questions/239911
无非一个是第一行,一个是任意行

WinsenJiansbomber
WinsenJiansbomber   2016.03.15 20:22

通过查找换行符号来定位所在行的位置信息

yokeyoke
yokeyoke   2016.03.15 20:21

【个人理解】

首先本人没用过visual c++。就用过codeblocks+GCC.介绍以下gcc里的string类的使用,应该visual c++也有这个标准类的

可以找到该行前面的换行符的位置position,和你需要替换的这一行的字符数qty。然后使用

string &erase(int pos = 0, int n = npos);//删除pos开始的n个字符,返回修改后的字符串

然后使用:

string &insert(int p0, const char *s);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
VC6.0 CString写如txt文件的方法
VC6.0 将 CString 变量值写入txt 文件 例如: 我们取出当前系统时间 CString str; double d_curent_time = GetTickCount(); //将double 转为 CString str.Format("%f",d_curent_time); CStdioFile cFile; if (cFile
string的字符串替换函数,类似于CString的Replace
标准C++中的string中的函数不多,没有CString的功能强大,但是如果想在Unicode编码下使用多字节,就不能使用CString,于是自己写了一个类似于CString的Replace函数。string replace( const string& inStr, const char* pSrc, const char* pReplace ){     string str = inStr
CString将字符'\n'替换为指定字符串
最近写一个Excel批量处理的程序,需要将换行符替换为\r\n,但是想了很多办法却不能实现,如下:         本来是要将“\r\n”替换为"\r\n",但是发现从Excel或其他文件中读取出来的字符串在二进制窗口中发现只有换行符,即'\n'(ASCII码为0A),而回车'\r'(ASCII码为0D)却没有了,因此使用CString的Replace(_T("\r\n"),_T("\r\n
MFC中替换指定的字符串
<br />在MFC中定义一个字符串<br />CString  text = L"jake^wang^ioe";<br />for(int i=0;i<text.GetLength();i++)<br />{<br />    int index = text.Find(L"^");<br />  if(index == -1)<br />           continue;<br />  else<br /> {<br />        text.Replace(L"^",L"good");//前
VC++6.0中Console程序台程序使用CString
1.添加#include "afx.h"   2.
正则表达式查找替换
1 项目描述 在文本中查找替换对应的字符串,功能如下: thisisbefore(self ,func) 替换成thisisafter(func,self). 2详细设计 2.1字符串查找替换 string regexReplace(string sMsg, string sSreach, string sReplace) { string sRet = ""; std::regex
MFC 字符串类CString 源代码
原文:http://blog.csdn.net/benny5609/article/details/1926088 CString使用的是引用技术,可以共享数据(这个大家都知道),另外空的CStirng是指向一个固定的地址的(_afxInitData). 另外CStirng是有长度限制的2147483647(无符号int 的最大值). 数据格式 struct CStringData
MFC中使用正则表达式
我用的是VS08,在自己装上Boost库中的Regex库后,将CString转换成std::string后使用regex_match函数进行匹配。但是在转换时忽略了CString结束后的一个换行符,结果费了好长时间。解决方法: if(sLine.Right(1)="\n") {    sLinetmp = sLine.Left(sLine.GetLength()-1); }
VC++基础 字符串的查找与替换
<br />字符窜查找:<br />UpdateData(true); if(m_strFind.IsEmpty())//判断编辑框字符串是否为空 { AfxMessageBox("查找的字符串为空!"); return; } int pos=0;//记录查找位置 CString strpos,temp; strpos.Format("%s字符串在原字符串中的起始位置为:/n",m_strFind); while((pos>=0)&&(pos<m_strData.Ge
CString 字符串指定修改某个字符
因为今天早上刚好做到这个,所以来总结一下。 利用截断字符的API函数,AfxExtractSubString(),这个函数和vector的结合使用修改字符串内容。 你可以将要修改的某段字符串跟剩下的分别截断到两个vector之后,再改变这个指定的字符串的内容。 最后将改变后的字符串连接起来后输出就可以了。 自从用了vector之后,我就不怎么喜欢用数组了,嘿嘿。 但是用vector的时候