C#文件读写操作
我想对一个文本文件进行操作,这个文本文件是这样的,在文本的中间会出现ATOM,而且这个ATOM是在第一列的,我想要读到这个ATOM的时候开始往下开始读,一直到TER这个单词出现结束,然后将读出来的这些字符串存到另外一个自己创建的文本中去,基本上就是这个要求,最好用C#做。
第一个图的左边显示的517行是第一个ATOM开始的,第二个图的3125行是TER的位置。
[解决办法]
#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");
}