C++STLとファイル処理操作まとめ
STL標準ライブラリ、英語Standard Template Library.広義にはalgorithm(アルゴリズム)、container(コンテナ)、iterator(反復器)の3種類に分けられる.
ファイルを開く方法は次のとおりです.
ファイルを読み込む操作は次のとおりです.
ここではifstreamを使用しており、ファイルの入力ストリームであり、多くのファイルモジュールが含まれており、便利です.getlineは、スペースを含むファイル全体の文字列を取得できますが、cinはスペースを取得できません.
このコードは、テキストを読み込み、句読点で異なる単語を抽出し、vectorに格納します.
ファイルへの書き込みには、次の操作があります.
ここでは入力した文字列をファイルに書き込み、異なる文字列をリターンで区切り、入力が空の場合whileループから飛び出します.
ここではofstreamを使用し、ファイル用の出力ストリームです.このコードはvecoter 1の文字列をファイルに順次書き込み、各文字列は1行です.
sortは自動ソート可能な関数で、とても使いやすいです.
このようにして2次元のvectorを確立することができ、コードの中のパラメータ2はこの2次元のvectorが2行あることを表す.size()関数は、この行にどれだけの要素があるかを知ることができます.
さらに2つの一般的な関数を追加します.
c_str()とatoi,c_strはstringタイプをchar*タイプに変換することができ、変換後、文字列に対してstrcmp、strcpyなどの関数操作を実行することができます.
atoiは文字列を整数に変換することができ、数字を文字列タイプに格納するのに適しており、itoa関数は正反対で、整数値を文字列に変換することができ、両者を組み合わせて使用すると、格納中にプロセスを簡略化することができます.
ファイルを開く方法は次のとおりです.
FILE *fp = fopen(filename,"w");
if(!fp)
cout<
ファイルを読み込む操作は次のとおりです.
string s;
ifstream file(filename);//#include
if(file.is_open())
{
while(getline(file,s))
{
vector1.push_back(s);
}
}
ここではifstreamを使用しており、ファイルの入力ストリームであり、多くのファイルモジュールが含まれており、便利です.getlineは、スペースを含むファイル全体の文字列を取得できますが、cinはスペースを取得できません.
fp = fopen(filename, "r");
if(!fp)
{
cout<='A')
ch += 32;
s[i]=ch;
i++;
}
else if(s[0]!='\0')
{
words.push_back(s);
while(i){
s[i--] = '\0';
}
s[0] = '\0';
}
}
fclose(fp);
このコードは、テキストを読み込み、句読点で異なる単語を抽出し、vectorに格納します.
ファイルへの書き込みには、次の操作があります.
while(gets(a)&&strcmp(a,"")!=0)//a
{
fprintf(fp,"%s",a);
fputc('
',fp);
}
fclose(fp);
ここでは入力した文字列をファイルに書き込み、異なる文字列をリターンで区切り、入力が空の場合whileループから飛び出します.
ofstream fout;
fout.open(filename,ios_base::out);
if(fout.is_open())
{
for(vector::iterator i=vector1.begin(); i!=vector1.end(); ++i)
{
fout<
ここではofstreamを使用し、ファイル用の出力ストリームです.このコードはvecoter 1の文字列をファイルに順次書き込み、各文字列は1行です.
sort(vector1.begin(),vector1.end());
sortは自動ソート可能な関数で、とても使いやすいです.
vector > words(2);
lie = words[0].size();
このようにして2次元のvectorを確立することができ、コードの中のパラメータ2はこの2次元のvectorが2行あることを表す.size()関数は、この行にどれだけの要素があるかを知ることができます.
さらに2つの一般的な関数を追加します.
c_str()とatoi,c_strはstringタイプをchar*タイプに変換することができ、変換後、文字列に対してstrcmp、strcpyなどの関数操作を実行することができます.
atoiは文字列を整数に変換することができ、数字を文字列タイプに格納するのに適しており、itoa関数は正反対で、整数値を文字列に変換することができ、両者を組み合わせて使用すると、格納中にプロセスを簡略化することができます.