C语言学习010:fopen读写文件

  在文件input.csv文件中,我们有数据如下

Apple
Pear
Litchis
Pineapple
Watermelon

  现在我们将input.csv文件下的读取并写入到output.csv文件,我们会用到fopen函数

  函数原型:FILE * fopen(const char * path,const char * mode)

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4
 5 int main(){
 6     char line[80];
 7     FILE *in=fopen("input.csv","r");//fopen可以创建一条数据流;r,表示读
 8     FILE *out=fopen("output.csv","a");//a,表示追加数据到文件
 9     while(fscanf(in,"%79[^\n]\n",line)==1){
10         fprintf(out,"from input:%s\n",line);
11     }
12     //用完数据流之后,需要关闭他们,即使他们自己会关闭,因为通常情况下一个进程最多可以有256个数据流,数量是有限的
13     fclose(in);
14     fclose(out);
15     return 0;
16 }

  fopen还有很多模式,比如

  w,写入文件,如果文件不存在,就创建文件并写入,若文件存在,则将之前的数据覆盖

  还有a+,w+,r+等等,但是有些编译器不支持,大家可以参考这里fopen

时间: 2024-10-13 12:02:52

C语言学习010:fopen读写文件的相关文章

C语言以字符形式读写文件

一.字符读取函数 fgetc (一).函数介绍 fgetc 是 file get char 的缩写,意思是从指定的文件中读取一个字符.函数原型为: int fgetc(FILE* fp) fp 为文件指针.fgetc() 读取成功时返回读取到的字符,读取到文件末尾或读取失败时返回 EOF 在文件内部有一个位置指针,用来指向当前读写到的位置,也就是读写到第几个字节.在打开文件时,该指针总是指向文件的第一个字节.使用fgetc函数后,该指针会向后移动一个字节,可以连续多次使用fgetc 读取多个字符

使用go语言绕过page cache读写文件

有时候,我们希望我们的数据不通过page cache的缓冲直接落盘.go语言里,用参数DIRECT打开文件可以实现这一点要求. 但这样做有一个硬性的要求,就是在读写的时候,对应的数据在内存中的地址一定要满足512对齐,即首地址的2进制形式中后面至少要有9个0结尾,且数据长度为512字节的整数倍,否则读写会失败. 我们用go语言中的切片slice来验证这件事. 首先我们建立一个go语言的切片并随便赋一些值: buf := make([]byte, 8192) for i := 0; i < 20;

【node.js学习】--(3)--读写文件

读写文件 一般读写 新建copyFile.js var fs = require("fs"); function copyFile(src,dest){ varfile = fs.readFileSync(src);//根据文件路劲读取文件 fs.writeFileSync(dest,file);//将内容写入文件 } function main(argv){ copyFile(argv[0],argv[1]); } main(process.argv.slice(2));//接受命令

R语言学习笔记之excel文件读取

在win32位的系统下,RODBC包内的函数是可以直接运行的,但在win64位的系统则不支持! 1.读取外部文件read.table()---csv,txt,excel 最基本函数是read.table(),先介绍read.table(),然后再介绍专门用来读csv的read.csv(). Description Reads a file in table format and creates a data frame from it, with cases corresponding to l

hadoop学习笔记--hadoop读写文件过程

读取文件: 下图是HDFS读取文件的流程: 这里是详细解释: 1.当客户端开始读取一个文件时,首先客户端从NameNode取得这个文件的前几个block的DataNode信息.(步骤1,2) 2.开始调用read(),read()方法里,首先去读取第一次从NameNode取得的几个Block,当读取完成后,再去NameNode拿下一批Block的DataNode信息.(步骤3,4,5) 3.  调用Close方法完成读取.(步骤6) 当读取一个Block时如果出错了怎么办呢.客户端会去另一个最佳

C语言学习_C如何在一个文件里调用另一个源文件中的函数

问题 C如何在一个文件里调用另一个源文件中的函数,如题. 解决办法 当程序大了代码多了之后,想模块化开发,不同文件中存一点,是很好的解决办法,那我们如何做才能让各个文件中的代码协同工作呢?我们知道,main函数是程序入口,我们希望把不同的功能写在不同的函数中,并把这些函数统一放到另外一个文件里,以便main函数显得太长,main函数可以在用到某方法的时候调用来处理.为了实现这个步骤,我们这样做.首先定义一个c代码的头文件,如function.h,在里面声明将要实现的函数,如int add(int

Python学习16:读写文件

一个简单的文本编辑器 # -*- coding: utf-8 -*- from sys import argv # 从sys模块导入argv函数, #「argv」是「argument variable」参数变量的简写形式.一般在命令行调用的时候由系统传递给程序. # 一般在命令行调用的时候由系统传递给程序. script, filename = argv # 利用argv函数,把 argv 中的东西解包,将所有的参数依次赋予左边的变量名 print "We're going to erase %

[C/C++语言基础]读写文件

1.打开.关闭文件: FILE* fp = fopen(string.c_str(), FLAG); string.c_str():需用C语言字符串形式: FLAG说明: r: 只读方式打开: w: 只写方式打开: a:追加方式打开: r+: 以读/写方式打开:(无文件:出错) w+: 以读/写方式打开:(无文件:新建) int fclose(FILE* fp); 成功:返回0: 失败:返回EOF: 2.读写文件: char *fgets(char *s, int n, FILE *stream

R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理

前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. 这次的主题是论R与excel的结合,又称 论如何正确把EXCEL文件喂给R处理 分为: 1. xlsx包安装及注意事项 2.用vba实现xlsx批量转化csv 以及,这个的对象,针对跟我一样那些从R开始接触编程的,一直以来都是用excel做数据分析的人……编程大牛请轻拍 之所以要研究这个,是因为最近工作上接了个活,要把原来在excel端的报表迁移到R端,自动输出可视化图形,并制作PDF或PPT. 这个活可以分为