21xrx.com
2025-04-17 23:28:03 Thursday
文章检索 我的文章 写文章
C++ 读取包含空格的整型数据并保存至文件
2023-07-11 17:58:43 深夜i     22     0
C++ 读取 空格 整型数据 文件保存

在C++编程中,读取包含空格的整型数据并保存至文件是一个常见的处理任务。下面将介绍一种简单的方法来完成这项任务。

首先,需要打开一个文件,使用C++中的fstream库可以轻松实现文件操作。然后,在文件中按行读取数据,并将每行数据用空格分割成多个整型数据。可以使用C++中的字符串流stringstream来实现分割。分割后的整型数据可以存储到一个vector 中。

具体步骤如下:

1. 打开文件

#include<fstream>
using namespace std;
int main()
{
  ifstream file("input.txt");//打开文件
  if(!file.is_open())//如果文件未能正常打开
  
    cout<<"文件打开失败"<<endl;
    return 1;
  
  //读取文件数据...
}

2. 按行读取数据,分割提取整型数据

#include<sstream>
#include<vector>
using namespace std;
int main()
{
  ifstream file("input.txt");//打开文件
  if(!file.is_open())//如果文件未能正常打开
  
    cout<<"文件打开失败"<<endl;
    return 1;
  
  vector<int> data;//存储整型数据的向量
  string line;//存储每一行数据的字符串
  while(getline(file, line))//按行读取数据
  {
    stringstream ss(line);//字符串流,用于分割提取整型数据
    int num;
    while(ss>>num)//分割提取整型数据
    {
      data.push_back(num);//存储整型数据到向量中
    }
  }
  //数据处理...
}

3. 将整型数据存储至文件

#include<sstream>
#include<vector>
using namespace std;
int main()
{
  ifstream file("input.txt");//打开文件
  if(!file.is_open())//如果文件未能正常打开
  
    cout<<"文件打开失败"<<endl;
    return 1;
  
  vector<int> data;//存储整型数据的向量
  string line;//存储每一行数据的字符串
  while(getline(file, line))//按行读取数据
  {
    stringstream ss(line);//字符串流,用于分割提取整型数据
    int num;
    while(ss>>num)//分割提取整型数据
    {
      data.push_back(num);//存储整型数据到向量中
    }
  }
  //数据处理...
  ofstream output("output.txt");//打开输出文件
  if(!output.is_open())//如果文件未能正常打开
  
    cout<<"输出文件打开失败"<<endl;
    return 1;
  
  for(int i=0; i<data.size(); i++)//遍历整型数据向量
  {
    output<<data[i]<<" ";//将整型数据写入文件
  }
  output.close();//关闭输出文件
  return 0;
}

本文介绍了一种简单的方法来读取包含空格的整型数据并保存至文件,通过使用C++中的fstream库、字符串流stringstream和vector 向量,可以轻松实现这项任务。

  
  

评论区