首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C#文件读写操作,该如何处理

2014-01-14 
C#文件读写操作我想对一个文本文件进行操作,这个文本文件是这样的,在文本的中间会出现ATOM,而且这个ATOM是

C#文件读写操作
我想对一个文本文件进行操作,这个文本文件是这样的,在文本的中间会出现ATOM,而且这个ATOM是在第一列的,我想要读到这个ATOM的时候开始往下开始读,一直到TER这个单词出现结束,然后将读出来的这些字符串存到另外一个自己创建的文本中去,基本上就是这个要求,最好用C#做。
第一个图的左边显示的517行是第一个ATOM开始的,第二个图的3125行是TER的位置。
C#文件读写操作,该如何处理
C#文件读写操作,该如何处理

[解决办法]


#include <string>
#include <fstream>
#include <boost/spirit/include/qi.hpp>

int _tmain(int argc, _TCHAR* argv[])
{
std::ifstream fin("In.txt");//XXX.txt是你的文件路径
std::ofstream fout("Out.txt");
std::string strOut;
namespace spirit = boost::spirit;
namespace qi = spirit::qi;
using spirit::istream_iterator;
using qi::parse;
using qi::omit;
using qi::char_;
using qi::string;
using qi::lexeme;
using qi::space;

fin >> std::noskipws;
bool r = parse(istream_iterator(fin), istream_iterator(), omit[*(char_ - "ATOM")] >> string("ATOM") >> +(char_ - "TER") >> "TER", strOut);
fout << strOut;
system("pause");
}



需要boost的spirit库,这是个纯头文件库。

热点排行