C++ でのテキスト ファイルの読み取りと書き込み

このチュートリアルでは、C++ でテキスト ファイルを読み書きする方法を学習します。どちらの場合も、読み取り/書き込みデータストリームを宣言した後、ファイルが存在するかどうかを常に確認してください:

ifstream myFlux("C:/test.txt");
if(myFlow){
  ...
}
else{
  ファイルが存在しないことを示すメッセージ
}

C++でファイルに書き込む

書き込みはストリームを作成することによって行われます ofstream。このフローが役割を果たします。仲介者の間 コンパイラとファイル。statementフロー名<<" "Write Something" < "何かを書いてください" test.txtです。endl は改行を行います.

#include
#include
#include <文字列>
#include
名前空間 std を使用します。

void write(int T[])
{
    string const filename("C:/test.txt");
    ofstream myStream(nomFichier.c_str());
    if(myFlow)
    {
               文字列文字列;
               for(int i = 0 ; i < 10 ;i++)
          string += convertInt(T[i])+" ";
               myFeed <<チェーン<
    }
    else
       コスト<<"ファイルを開けません。" <
}

//整数を文字列に変換
文字列 convertInt(int number)
{
  stringstream ssです。SS<<数;戻る ss.str();
}

//配列数を生成
int rand(int nb)
{
   rand()%nbを返します。
}

int main()
{
   int T1[10]={1,2,3,4,5,6,7,8,9,10};
   書き込み(T1);
   play()です。
   srand(time(NULL));
   for(int i=0; i<5;i++)
           printf("%d \n",rand(50));
   system("一時停止");
}

C++でファイルを読み込む

C++ では、次の 3 つの方法で読み取ることができます:
  1. 行単位: 再生カーソルは行全体を読み取り、getline メソッド( ifstream stream, string line).
  2. 単語単位: myFlow ステートメント>>言葉;言葉はひもです。単語はスペースで区切られます.
  3. 文字単位:メソッドget(char c).
例:
ボイド reading()
{
    ifstream myFlux("C:/test.txt");
     if(myFlow)
    {
               文字列行;
               printf("行単位\n");
                while(getline(myFlow,line))
                      コスト<<行です<
               printf("単語ごとに\n");
                myFlow.clear();
        zero
               myFlux.seekg(0、ios::beg);
                文字列の単語。
                while(myFlow >>word)
                      コスト<
               printf("文字単位\n");
                myFlow.clear();
               myFlux.seekg(0、ios::beg);
                戦車c;
                while(myFlux.get(c))
                {
                     コスト<
                     int 位置= myFlow.tellg();        
               }
    }
     else
        コスト<<"ファイルを開けません" <
}