C++ 读取txt里的字符串和数字,并把数字放在一个数组里
时间: 2023-08-04 14:38:11 浏览: 94
统计字符串中字母和数字个数
好的,可以使用C++的文件输入流来读取txt文件中的字符串和数字,并将数字存储在一个数组中。具体操作步骤如下:
1. 包含头文件`<fstream>`和`<iostream>`。
2. 定义一个`ifstream`类型的文件输入流对象,并打开txt文件,例如:
```c++
ifstream infile("example.txt");
```
3. 定义一个字符串类型的变量`str`和一个整型数组`nums`,并初始化数组大小。
```c++
string str;
int nums[100];
int i = 0;
```
4. 使用`infile`对象的`getline()`函数逐行读取txt文件中的字符串,并使用`stringstream`对象将其转换为整型数字。如果读取的字符串可以转换为数字,则将其存储在`nums`数组中,例如:
```c++
while(getline(infile, str))
{
stringstream ss(str);
int num;
if(ss >> num)
{
nums[i++] = num;
}
}
```
5. 关闭文件输入流对象。
```c++
infile.close();
```
完整的代码如下:
```c++
#include <fstream>
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
ifstream infile("example.txt");
string str;
int nums[100];
int i = 0;
while(getline(infile, str))
{
stringstream ss(str);
int num;
if(ss >> num)
{
nums[i++] = num;
}
}
infile.close();
// 输出数组中的数字
for(int j = 0; j < i; j++)
{
cout << nums[j] << " ";
}
cout << endl;
return 0;
}
```
其中,`example.txt`文件中的内容如下:
```
hello world
123 456
789
```
运行结果如下:
```
123 456 789
```
阅读全文