新手问题,有关字符串,望高手指教

redweee 2005-03-08 10:33:43
假设文本文件copy.txt 内容如下:
000010 JTOY-A
000020* COPY FILE.
000030 COPY FILE1.
000040 COPY FILE2.

要求:查询有COPY关键字的行,抽出COPY后的文件名,避免注释行(带*的第2行)

望大哥们不辞辛劳,能给于小弟一点思路,最好能有代码,谢谢了!




...全文
88 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
healer_kx 2005-03-09
  • 打赏
  • 举报
回复
处理字符串好无聊啊。。。
pcboyxhy 2005-03-08
  • 打赏
  • 举报
回复
#include <iostream>
#include <cstdlib>
#include <string>
#include <fstream>

using namespace std;

int main(int argc, char *argv[])
{
string line;
string::size_type pos;
ifstream my_file("copy.txt", ios::in);
if(!my_file)
{
cout<<"Can not open file\n";
return -1;
}
while ( getline( my_file, line, '\n' ))
{
if(line.find("*", 0)!=string::npos)
continue;
if( (pos = line.find("COPY", 0))!=string::npos )
{
pos += 4;
while(line[pos]==' ')
++pos;
cout<<&line[pos]<<endl;
}
}
system("PAUSE");
return 0;
}
redweee 2005-03-08
  • 打赏
  • 举报
回复
我现在是用istream类,getline()方法来读取行的
问题是如何取字段,如我要取COPY关键字,要用什么方法?
sasdaa 2005-03-08
  • 打赏
  • 举报
回复
按行读取文件里的数据,查招关键字copy,将文件名截取出来。
jobine 2005-03-08
  • 打赏
  • 举报
回复
用CStdioFile,一行一行的读,然后读出一行判断注释条件,如果不是注释行还含有"COPY"的,就挑出来。

64,687

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧