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(5316d)
Programming_C(5767d)
Last-modified: 2007-12-06 (木) 15:14:18 (6317d)