-1

を使用してファイルを開きます、

    std::ifstream ifs(filename);

同じifs変数を使用して新しいファイルを開きたいのですが、どうすればよいですか?

4

3 に答える 3

4
ifs.close();
ifs.open(newfilename);
于 2012-10-20T16:56:53.823 に答える
2

std::ifstream.close()前回のセッションの値が含まれている可能性があるフラグをクリアしないことを考慮してください。clear()別のファイルでストリームを使用する前に、必ず関数でフラグをクリアしてください。

例:

ifstream mystream;
mystream.open("myfile");
while(mystream.good())
{
  // read the file content until EOF
}
mystream.clear(); // if you do not do it the EOF flag remains switched on!
mystream.close();

mystream.open("my_another_file");
while(mystream.good()) // if not cleared, this loop will not start! 
{
  // read the file
}
mystream.close();
于 2013-03-14T11:49:53.713 に答える
0
       ifs.close();     //close the previous file that was open
       ifs.open("NewFile.txt", std::ios::in);    //opens the new file in read-only mode

       if(!ifs)                             //checks to see if the file was successfully opened
       {
            std::cout<<"Unable to read file...\n";
            return;
       }

       char* word = new char[SIZE]; //allocate whatever size you want to
       while(ifs>>word)     
       {
           //do whatever
       }
       ifs.close();          //close the new file
       delete[] word;         //free the allocated memory
于 2012-10-20T17:02:12.053 に答える