导入一个文件,并能够发现其中的特殊的字符串,比如"aabbcc"。
解决方案 »
- cpp 调用 c中函数,build debug OK release 出现 link error 2001
- 如何让MSI文件在GUI不显示的情形下,安装到指定的路径
- 在Dll中是不是不可能放入ActiveX控件?
- 怎样获取对话框中一个静态文本框控件的坐标啊
- 请教一个多文档界面画图的问题!!
- 我用MFC7.1作了一个ActiveX控件,其中一个方法的功能是弹出一个对话框,至此一切OK,但是在对话框上放了一个WebBrowser控件之后,对话框就
- CHttpFile::ReadString()为何阻塞?
- 如何在ActiveX中定义常量(散分)
- 一起学习MFC
- 我是这样看com的,请问对么,请执教?
- [help]ATL DLL COM组件编译时,遇到两个静态库冲突的问题,请大家指点迷津
- 推荐界面控件ActiveSkin
str.Find("aabbcc");
也可以使用楼上的方法CStdioFile的ReadString读取一行,在对这行取子串
而且不光要找到,还要能定位,比如如果找到"aabbcc",就把接下来的内容导入,直到出现"ccbbaa"。
如果不可以全部读入的话,可以对边界作一些处理。算法如下
char buf[MAX_BUF];
char tofind[MAX_STR];
char strTemp[MAX_STR];
strcpy( tofind, "aabbcc" );
int nToCpy = strlen(tofind)-1;
size_t nLen;
FILE fp = fopen( filename,"rb");nLen = fread( buf, sizeof(char), MAX_BUF, fp );
从buf里查找tifind同时作你的处理;
while( !feof(fp) )
{
memcpy( strTemp, buf[len-nToCpy-1],nToCpy );//边界处理,保留buf中最后nToCpy个
//字符
nLen = fread( buf+nToCpy, sizeof(char), MAX_BUF, fp );
从buf里查找tifind同时作你的处理;}
fclose(fp);
//字符
加入
memcpy( buf, strTemp, nToCpy );
nLen = fread( buf+nToCpy, sizeof(char), MAX_BUF, fp );
改为
nLen = fread( buf+nToCpy, sizeof(char), MAX_BUF-nToCpy, fp );