CPP_file_tokenize
fstream は入出力両方を扱う /home/ishida/research/program/cpp/corpus/FileTokenizer?.cpp
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int arg, char *argv[]){
string finame, foname;
// string ss;// strtok を使う場合は,
// 読み込んだ行はchar 変数におさめる
char ss[256];
ifstream fin;
ofstream fout;
finame = argv[1];
foname = argv[2];
fin.open(finame.c_str());
if(!fin) return 1;
fout.open(foname.c_str());
if(!fout) return 1;
char seps[] = " !$\"%^&*()_+=#{}[]:;'`/?,.\t\n\u00a3";
char crlf[] = "\r\n";
char *token;
while(fin >> ss){
// while(fin.getline(ss,256)){// この場合,ss は char*型であるべき
// while(getline(fin,ss)){// この場合,ss は char*型であるべき
token = strtok((char *)(const char *)ss, seps);
while( token != NULL )
{
//"string" にトークンがなくなるまで繰り返します
char *m_token = token;
//リストへ表示し
fout << m_token << endl;
// 次のトークンを取得します。
token = strtok( NULL, seps );
}
// fout << ss << endl;
}
fin.close();
fout.close();
}
Link: Programming(5550d)
Programming_C(6000d)
Last-modified: 2007-12-06 (木) 15:14:18 (6550d)