C++ 读取txt 不包含 空格
时间: 2023-08-18 15:04:12 浏览: 344
如果你想从文本文件中读取不包含空格的数据,可以使用C++的`>>`运算符。`>>`运算符用于从输入流中读取一个单词,单词以空格、制表符或换行符等分隔符为界。下面是一个使用`>>`运算符从文件中读取不包含空格的数据的示例:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream infile("data.txt");
string word;
while (infile >> word)
{
cout << word << endl;
}
infile.close();
return 0;
}
```
在上面的示例中,我们首先打开了一个名为"data.txt"的文件,并使用`>>`运算符从文件中读取数据。当读取到空格、制表符或换行符等分隔符时,`>>`运算符自动停止读取,并将读取到的单词存储到字符串变量中。当读取到文件末尾时,`>>`运算符返回false,循环结束。最后,我们关闭了文件流并返回0。
需要注意的是,使用`>>`运算符读取数据时,如果文件中包含了非法数据(例如数字后面跟着字母),会导致读取失败。在读取数据之前,应该先判断输入流的状态,以确保读取的数据是合法的。例如:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream infile("data.txt");
string word;
while (infile >> word)
{
if (infile.fail())
{
cout << "读取失败!" << endl;
break;
}
cout << word << endl;
}
infile.close();
return 0;
}
```
在上面的示例中,我们在每次读取数据之后,使用`fail()`函数判断输入流的状态。如果输入流的状态为failbit,说明读取失败。此时,我们打印一条错误信息并跳出循环。
阅读全文