C++文件读写代码分享

 更新时间:2015年07月08日 09:16:36   投稿:hebedich  
本文给大家分享的是2个C++实现文件读写的代码,都非常的简单实用,有需要的小伙伴可以参考下。

编写一个程序,统计data.txt文件的行数,并将所有行前加上行号后写到data1.txt文件中。

算法提示:

行与行之间以回车符分隔,而getline()函数以回车符作为终止符。因此,可以采用getline()函数读取每一行,再用一个变量i计算行数。

(1)实现源代码

#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
 
using namespace std;
 
int coutFile(char * filename,char * outfilename)
{
  ifstream filein;
  filein.open(filename,ios_base::in);
  ofstream fileout;
  fileout.open(outfilename,ios_base::out);
  string strtemp;
  int count=0;
  while(getline(filein,strtemp))
  {
    count++;
    cout<<strtemp<<endl;
    fileout<<count<<" "<<strtemp<<endl;
  }
  filein.close();
  fileout.close();
  return count;
}
 
 
void main()
{
  cout<<coutFile("c:\\data.txt","c:\\data1.txt")<<endl;
}

再来一个示例:

下面的C++代码将用户输入的信息写入到afile.dat,然后再通过程序读取出来输出到屏幕

#include <fstream>
#include <iostream>
using namespace std;
  
int main ()
{
   
  char data[100];
 
  // open a file in write mode.
  ofstream outfile;
  outfile.open("afile.dat");
 
  cout << "Writing to the file" << endl;
  cout << "Enter your name: ";
  cin.getline(data, 100);
 
  // write inputted data into the file.
  outfile << data << endl;
 
  cout << "Enter your age: ";
  cin >> data;
  cin.ignore();
   
  // again write inputted data into the file.
  outfile << data << endl;
 
  // close the opened file.
  outfile.close();
 
  // open a file in read mode.
  ifstream infile;
  infile.open("afile.dat");
  
  cout << "Reading from the file" << endl;
  infile >> data;
 
  // write the data at the screen.
  cout << data << endl;
   
  // again read the data from the file and display it.
  infile >> data;
  cout << data << endl;
 
  // close the opened file.
  infile.close();
 
  return 0;
}

程序编译执行后输出如下结果

$./a.out
Writing to the file
Enter your name: Zara
Enter your age: 9
Reading from the file
Zara
9

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • C语言实现文件读写操作的几种常用方法

    C语言实现文件读写操作的几种常用方法

    C语言提供了一系列文件操作函数,使得我们可以通过程序对文件进行读写操作,本文主要介绍了C语言实现文件读写操作的几种常用方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • C++中求余运算符(%)示例详解

    C++中求余运算符(%)示例详解

    求余运算符“%”,二元运算符,具有左结合性。参与运算的量均为整型。求余运算的结果等于两个数相除后的余数。看似很简单的运算符,却也真要掌握用好它也不容易,这篇文章主要介绍了C++中求余运算符(%)的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • C++继承类成员访问权限修饰符详解

    C++继承类成员访问权限修饰符详解

    这篇文章主要为大家介绍了C++继承类成员访问权限修饰符,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 谈谈vector的特殊性之为什么它不是STL容器

    谈谈vector的特殊性之为什么它不是STL容器

    这篇文章主要给大家介绍了关于vector的特殊性之为什么它不是STL容器的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • vs运行时报C4996代码错误的问题解决

    vs运行时报C4996代码错误的问题解决

    C4996错误的意思:是VS觉得strcpy这函数不安全,建议你使更安全的函数,那么如何解决呢,本文主要介绍了vs运行时报C4996代码错误的问题解决,感兴趣的可以了解一下
    2024-01-01
  • 教你分辨C++堆与栈的区别

    教你分辨C++堆与栈的区别

    堆与栈的区别有:1、栈由系统自动分配,而堆是人为申请开辟;2、栈获得的空间较小,而堆获得的空间较大;3、栈由系统自动分配,速度较快,而堆一般速度比较慢;4、栈是连续的空间,而堆是不连续的空间
    2021-06-06
  • 弦图ZOJ 1015 Fishing Net 判定方法

    弦图ZOJ 1015 Fishing Net 判定方法

    弦图,算法完全按照CDQ的PPT上给的最大势算法(MCS)完美消除序列..需要的朋友可以参考下
    2012-11-11
  • Qt实现樱花飞舞效果

    Qt实现樱花飞舞效果

    这篇文章主要为大家详细介绍了Qt实现樱花飞舞效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • C++使用ADO实现存取图片的方法

    C++使用ADO实现存取图片的方法

    这篇文章主要介绍了C++使用ADO实现存取图片的方法,需要的朋友可以参考下
    2014-07-07
  • C++重载运算符实现分数加减乘除

    C++重载运算符实现分数加减乘除

    这篇文章主要为大家详细介绍了C++重载运算符实现分数加减乘除,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06

最新评论