zoukankan      html  css  js  c++  java
  • C/C++文件——数据写入、读取

    这几天看了C++ plus上的文件写入、读取方面的内容,可以说只是有个大概的了解。鉴于OpenCV中需要保存提取到的图像边缘的坐标值,加上有同学问起,所以打算做一个简短的总结。

    1、C++中涉及到的文件写入类是ofstream,可以声明其对象,然后调用类中成员函数进行文本创建、数据写入等操作。

    下面来看一下简单实例,后面的例子头文件及main()就不重复给出了:

     1 #include <fstream>
     2 #include <iostream>
     3 #include <stdio.h>
     4 
     5 using namespace std;
     6 
     7 const int n=10;  //这里只是对10个数据进行操作
     8 
     9 int main() {
    10     ofstream fout("file1.txt"); //创建待写入数据文件
    11   for(int i = 0; i < n; ++i) {
    12     fout.width(2);  //设定宽度为2,默认右对齐
    13     fout<<i<<"\n";  //依次写入数据,其他类型原理相同
    14   }
    15   fout.close();  //关闭文件,写入成功
    16 
    17   return 0;
    18 }

    到这里,数据就成功写到文件“file1.txt”中了,下面可以对其中数据进行读取并输出(或改动后按照上述方法写到另一文件中):

    1 ifstream fin;  
    2 fin.open("file1.txt");  //用成员函数open()打开已经存在的文件
    3 int m=0;
    4 for (int i = 0; i < n; ++i) {
    5   fin>>m;
    6   cout<<m<<"\n";
    7 }
    8 fin.close();

    2、下面这段代码是用C语言实现的,头文件“stdio.h”在上面程序开头已经包含进来了:

     1 FILE* fpout;
     2 fpout = fopen("file2.txt", "w");   //第二个参数“w”代表只准写入
     3 for (int i = 0; i < n; ++i) {
     4   fprintf(fpout, "%d\n", i * i);  //此函数把数据写入文本
     5 }
     6 fclose(fpout);
     7 
     8 FILE *fpin;
     9 fpin=fopen("file2.txt", "r");  //只读
    10 int num;
    11 for (int i = 0; i < n; ++i) {
    12   fscanf(fpin, "%d", &num); //此函数把文件中读取出来的数据赋给接收变量
    13   printf("%d\n", num);
    14 }
    15 fclose(fpin);

    还有很多相关知识点,比如类似函数及其中参数的选择。这里没有一一给出,进一步学习中。 

  • 相关阅读:
    数据库事务隔离级别和传播
    InputStreamReader和BufferedReader的区别
    SQL Server
    java.util.List.subList ,开区间和闭区间
    java中/与%的区别
    mysql 日期比较
    intellij idea 分屏设置 与快捷键
    Java 根据年月日精确计算年龄
    IntelliJ IDEA控制台Console里没有查找快捷键
    eclipse svn同步资源库时忽略某些不需要提交文件类型和文件夹
  • 原文地址:https://www.cnblogs.com/tgyf/p/3060823.html
Copyright © 2011-2022 走看看