C/C++读取文件,如何获取 指定字符串 前面字符串的位置?大虾们,帮帮忙吧

我的str.txt文件里面的内容是:E:\TMS\ConfS1_xxxx@xxx.com\CreatDir.exeE:\TMS\ConfS2_xxxx@xxx.com\C... 我的str.txt文件里面的内容是:
E:\TMS\ConfS1_xxxx@xxx.com\CreatDir.exe
E:\TMS\ConfS2_xxxx@xxx.com\CreatDir.exe
E:\TMS\ConfS_xxxx@xxx.com\CreatDir.exe
E:\TMS\ConfS3_xxxx@xxx.com\CreatDir.exe
E:\TMS\ConfS4_xxxx@xxx.com\CreatDir.exe
我要获取:
E:\TMS\ConfS_xxxx@xxx.com\CreatDir.exe这一个路径,我现在只知ConfS_xxxx@xxx.com这个字符串,我可以用strstr来获取这个指定字符串开始到后面的内容,但是ConfS_xxxx@xxx.com前面的E:\TMS\ 要怎么获取?一般的文件读写都是从头到尾,这个反向获取字符串,要怎么办呢?请各位高手帮帮忙吧,谢谢了。
或者有没有其它的办法?我要取这个路径用system()来启动这个程序?
展开
 我来答
沧海雄风2009
2013-01-31 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2821万
展开全部

很物帆简信春单的亲罩坦雹

更多追问追答
追问
不是要取这全部的这E:\TMS,是要取E:\TMS\ConfS_xxxx@xxx.com\CreatDir.exe这一行;我可以用strstr()获取到
ConfS_xxxx@xxx.com\CreatDir.exe
E:\TMS\ConfS3_xxxx@xxx.com\CreatDir.exe
E:\TMS\ConfS4_xxxx@xxx.com\CreatDir.exe
这个字符串,但这前面的E:\TMS\要怎么办获取呢?只要前面的一个E:\TMS
追答

也很简单 等我开VC6

 

目标字段反斜杠记得加转义字符

 

亲 还有什么问题么  祝你早日解决问题

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gavineaglechou
2013-02-01 · TA获得超过157个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:131万
展开全部
以下是strstr在msdn里的例子,你仔细看看,在使用strstr查找的时候是可以得到指针位置的,result = pdest - string + 1; 就是说你可以使用字符串的指针操作得到所查找到的位置之前的字符,具体宏冲你就自己实现吧,如果连指针操作都不会早核的话,蔽睁歼我也没话说了

Example/* STRSTR.C */

#include <string.h>
#include <stdio.h>

char str[] = "lazy";
char string[] = "The quick brown dog jumps over the lazy fox";
char fmt1[] = " 1 2 3 4 5";
char fmt2[] = "12345678901234567890123456789012345678901234567890";

void main( void )
{
char *pdest;
int result;
printf( "String to be searched:\n\t%s\n", string );
printf( "\t%s\n\t%s\n\n", fmt1, fmt2 );
pdest = strstr( string, str );
result = pdest - string + 1;
if( pdest != NULL )
printf( "%s found at position %d\n\n", str, result );
else
printf( "%s not found\n", str );
}
OutputString to be searched:
The quick brown dog jumps over the lazy fox
1 2 3 4 5
12345678901234567890123456789012345678901234567890

lazy found at position 36
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
peterwang2889
2013-02-01
知道答主
回答量:27
采纳率:0%
帮助的人:11.1万
展开全部
你可以先一排排的读出搜纯来,再判断这一排是不是你需要的。如果郑漏乱是要找的就直接获取那一排就好了么,不喊档是需要的就读取下一排。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式