0

私は変数を持っています

ifstream inFile("stuff.txt");

stuff.txtファイルには、完全な文があります。

The quick brown fox jumps over the lazy dog

すべてのスペースを含むchar配列に入れるにはどうすればよいですか?

char text[250];
inFile >> text;

私を最初のスペースに連れて行ってくれます。

4

2 に答える 2

3

配列ifstream::getline()に読み込むために使用するか、。に読み込むために使用します。空白を使用すると、区切り文字として機能するため、最初のスペースで停止します。charstd::getline()std::stringinFile >> text

std::getline()に読み込むために使用すると、読み込むstd::string最大文字数を指定する必要がなくなります。これにより、バッファオーバーランの可能性が排除され、部分的に読み取られた行を処理する複雑さが増すのを回避できます(> 250たとえば、この場合、行があった場合)。

IO操作の結果は常にすぐに確認してください。

 std::ifstream inFile("stuff.txt");
 if (inFile.is_open())
 {
     std::string line;
     if (std::getline(inFile, line))
     {
         // Use 'line'.
     }
 }
于 2012-11-20T21:32:19.513 に答える
0
while (!inFile.eof()) {

    inFile >> text;

 }
于 2012-11-20T21:32:35.487 に答える