c++文件简单读入读出测试(代码片段)

PrConstantin PrConstantin     2022-12-15     803

关键词:

对于程序来说,不管后缀名如何,文件分为两种类型:

文本文件和二进制文件。

C语言里有一系列文件操作函数。区分文本和二进制文件,需要在打开文件时设置不同的控制符变量mode即可。

fopen的函数原型:

FILE * fopen(const char * path,const char * mode);

fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:

  r 以只读方式打开文件,该文件必须存在。
  r+ 以可读写方式打开文件,该文件必须存在。
  rb+ 读写打开一个二进制文件,允许读数据。
  rw+ 读写打开一个文本文件,允许读和写。
  w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
  w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
  a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
  a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
  wb 只写打开或新建一个二进制文件;只允许写数据。
  wb+ 读写打开或建立一个二进制文件,允许读和写。
  wt+ 读写打开或着建立一个文本文件;允许读写。
  at+ 读写打开一个文本文件,允许读或在文本末追加数据。
  ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
  上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。

下面简单的读入读出测试:

#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
int main()

    int num=2,num1=0;
    char name[5]="b";
    char name1[5]="a";
    scanf("%d%s",&num,name);
    getchar();       //文件读写前有getchar()记录回车! 
    //printf("%d%s\\n",num,name);
    FILE *f,*f1;
    f = fopen("number.dat","rw+");
    f1 = fopen("number.dat","rw+");
    fprintf(f,"%d %s",num,name);
    fscanf(f1,"%d%s",&num1,name1);
    printf("%d%s",num1,name1);
    fclose(f);
    return 0;

记得自己创建number.dat文件。

读入读出挂!!(代码片段)

说起读入读出挂,体内洪荒之力呼啸飞过,输入输出规模超过10e6就可以用啦; 参考博客:https://blog.csdn.net/f_zyj/article/details/51473493 适用于正整数1template<classT>2inlinevoidscan_d(T&ret)34charc;5ret=0;6while((c=getchar())& 查看详情

读入读出挂(代码片段)

正数1voidre(int&x)23x=0;chars=getchar();4while(s<‘0‘||s>‘9‘)s=getchar();5while(s>=‘0‘&&s<=‘9‘)x=x*10+s-‘0‘;s=getchar();67voidwr(intx)89if(x>9)wr(x/10);10putchar(x%10+‘0‘) 查看详情

c++实现从一个文件夹中读出所有txt文件(代码片段)

前段时间做项目需要读取一个文件夹里面所有的txt文件,查询资料后得到以下实现方法:首先了解一下这个结构体struct_finddata_t    unsigned   attrib;    time_t     time_create;& 查看详情

r语言︱文件读入读出一些方法罗列(批量xlsx文件数据库文本txt文件夹)

...。R语言中还有一些其他较为普遍的读入,比如代码包,R文件,工作空间等。source #读取R代码dget  #读取R文件load  #读取工作空间————————————————————————————————SP 查看详情

c++中文件最后一个字符不能读入问题的解决(代码片段)

在做一个实验的时候,需要将文件中的数据逐行读入,在读入的时候遇到了一个问题,前面几行的数据读入正常,最后一行数据的读入会少一个数据,数据格式如下   注意箭头处,这里是文件的末尾了,前面的数据之... 查看详情

c++手写快读详解(快速读入数字)(代码片段)

...入的(这不废话吗)例如:inta;cin>>a;这样的读入理解简单,适合初学者,但是非常慢。再例如:inta;scanf("%d",&a);这样的读入就比较快了,也叫好理解,在题目不卡时间的情况下可以通过大部分题。 ——但是,还... 查看详情

在 C++ 中将某种结构化的文本文件读入数组

】在C++中将某种结构化的文本文件读入数组【英文标题】:readsomewhatstructuredtextfileintoarrayinC++【发布时间】:2012-07-0223:18:42【问题描述】:我想在C++中重现以下python代码,但遇到了一些麻烦。函数read_file读取一个文本文件,测试... 查看详情

常用模板——对拍(代码片段)

...的是( ext.bat)形式的对拍程序。码量比较少,但是需要写文件读入读出。当程序( exterror)的时候,不会突出显示。所以时不时要看一眼。出错的数据也不会输出。下面程序中,( extdata)是数据生成器,( exttest)是你的考场程序,( extri... 查看详情

c++写出这个数(代码片段)

题目如下:读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数 n 的值。这里保证 n 小于 1。输出格式:在一行内输出 n... 查看详情

在 C++ 中将文件读入字符数组

】在C++中将文件读入字符数组【英文标题】:ReadingafileintocharacterarrayinC++【发布时间】:2016-11-2101:24:30【问题描述】:我一直在编写代码以使用C++将文件读入字符数组。我试图跳过空白字符,但我的输出数组中出现了空格和换行... 查看详情

如何编写c++代码简单测试一下x86和arm的cpu性能(代码片段)

x86:Intel(R)Core(TM)i5-8250UCPUarm:Qualcomm®snapdragon ™821(MSM8996-AC)一千万次nop循环c代码如下:intmain()inti;for(i=0;i<10000000;i++)return(0);编译和执行,如下&# 查看详情

c++只用一个命令逐行读取终端的文件流(代码片段)

简短:我想将终端中的数据读入变量并将其与字符串进行比较。Long:我正在使用GOEMBED的TIAM3358开发板,它运行嵌入式Linux。我用这个套件从canbus读取数据。要将数据从canbus读入终端,我使用socketcan。当我将以下命令运行到终端时... 查看详情

将整个 ASCII 文件读入 C++ std::string [重复]

】将整个ASCII文件读入C++std::string[重复]【英文标题】:ReadwholeASCIIfileintoC++std::string[duplicate]【发布时间】:2011-02-0519:37:54【问题描述】:我需要将整个文件读入内存并将其放入C++std::string。如果我把它读成char[],答案会很简单:st... 查看详情

nio的原理和文件读入读出及图片拷贝的使用

1.NIO的简介      java.nio全称javanon-blockingIO是jdk1.4之后出现的NewIO      为所有的原始类型(boolean除外)提供了缓存支持      使用它可以提供非阻塞式的高 查看详情

c++文件操作的简单程序(代码片段)

Hello,大家好,我是爱吃香蕉的猴子,写个文件操作的例子//C_file.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。//#include<iostream>#include<fstream>#include<string>//1、创建一个ifstream对象来管理输入流/... 查看详情

(c++)string的两种输入方式和输出方式(代码片段)

注:头文件如下#include<string>#include<cstdio>#include<iostream>usingnamespacestd;注:第一种输入方式遇到回车停止读入,第二种输入方式遇到空格停止读入。两种读入方式也都可以用来读字符数组。intmain() stringstr1,... 查看详情

spark直接读入fastq格式的数据(代码片段)

输入文件:fastq格式输出结果:kmer的频数和对应的kmer类型系统环境Ubuntu单机版17.01spark版本2.7此次测试主要用到了RDD的函数foreach和zipWithIndex,zipWithIndex这个函数是可以直接对gz文件进行操作的python的主要通过lambda函数来进行操作... 查看详情

cmake学习:使用camke创建一个最简单的跨平台c++项目(代码片段)

...软件,而是结合原生构建系统来构建软件。CMake配置文件是CMakeList.txt文件 查看详情