c语言循环中怎样读取多行,c++循环读取多行文本文件
其实主要的思路就是每次调用fgets,文件指针都会跳到下一行。
自己写的代码
#include
#include
#define Line 1024
int main()
{
//读取多行文件,存多行文件
FILE *fp;
char filename[20];
printf("Please enter the file name\n");
gets(filename);
fp = fopen(filename,"r");
if(fp==NULL)
{
printf("File Open Error");
return 4;
}
char *buf;
buf = (char *)malloc(Line*sizeof(char));
char *p;
while(p = fgets(buf,Line,fp))
{
printf("%s",p);
//原来用puts,它还给你多打了一个换行符
}
free(buf);
fclose(fp);
return 0;
}
下面是抄别人的代码
#include
#include
#define line 1024
//fgets函数的返回值为指针,指向读进来的东西,如果读到没有了,就是0000000
char * readdata(FILE *fp, char *buf)
{
return fgets(buf,line, fp);//读取一行到buf line 的默认值为1k
}
void someprocess(char *buf)
{
printf("%s", buf);//这里的操作你自己定义
}
void main()
{
FILE *fp;
char *buf, filename[20], *p;
printf("input file name:");
gets(filename);
if ((fp=fopen(filename, "r"))==NULL)
{
printf("open file error!!\n");
return;
}
buf=(char*)malloc(line*sizeof(char)); // buf用来存放读进来的字符串
while(1)
{
p=readdata(fp, buf);//每次调用文件指针fp会自动后移一行 readdata是一个函数
if(!p)//文件读取结束则跳出循环
break;
someprocess(buf);
}
free(buf); //应该释放空间
}
摘自:http://c.chinaitlab.com/ccjq/802437.html
c语言循环中怎样读取多行,c++循环读取多行文本文件相关推荐
- 为什么单独循环中的元素加法比组合循环中的要快得多?
假设<code>a1 , b1 , c1和d1指向堆内存,而我的数字代码具有以下核心循环. const int n = 100000;for (int j = 0; j < n; j ...
- vue 父循环怎么拿子循环中的值_Vue 父组件循环使用refs调用子组件方法出现undefined的问题...
Vue 父组件循环使用refs调用子组件方法出现undefined的问题 1. 背景 最近前端项目遇到一个问题,我在父组件中使用了两个相同的子组件child,分别设置ref为add和update.其中 ...
- 【笔记】python的while循环简介:使用while循环、让用户选择何时退出、使用标志、使用break退出循环、在循环中使用continue、避免无限循环
文章目录 一.while循环简介 二.使用while循环 三.让用户选择何时退出 四.使用标志 五.使用break退出循环 六.在循环中使用continue 七.避免无限循环 一.while循环简介 ...
- matlab在循环中保存jpg格式_Matlab如何循环读取文件
循环读取图片第一种方法①List =dir('*.jpg'); %如需其它图片格式支持,可以自己[重载dir()]函数,实现查找所有图片文件的功能, %如果图片是其它路径,可以用 ["路径& ...
- python如何在循环中保存文件_python-如何在for循环中更改为另一行文件
我有一个ifs和elses(不写)长函数,而whatnot包含一个for循环,用于在文件的每一行中查找: def check(low,high): with open('users.txt', 'r+ ...
- for循环中抛出异常_不要抛出循环!
到目前为止,在本系列文章中,我一直专注于Scala对Java生态系统的忠诚度,向您展示Scala如何整合Java的大部分核心对象功能. 但是,如果Scala只是编写对象的另一种方式,那么它就不会像它那 ...
- c语言for循环加法,BigDecimal 在for循环中相加注意事项
public static void main(String[] args) { BigDecimal bigDecimal = new BigDecimal(1); for (int i = 0; ...
- c语言break语句作用范围,C语言程序设计中break语句分析
摘 要: 在C语言程序设计课程中,break语句有两个作用:一是应用于switch语句中,可以结束多分支选择结构:二是应用于循环结构中,可以结束本层循环.通过实例分析出break语句使用的条件,bre ...
- C语言之顺序结构、选择结构和循环结构(break和continue的不同作用)
所有语言的结构总共有三种,分别是顺序结构.选择结构和循环结构,C语言也不例外. 一.顺序结构 所谓顺序结构就是按照语句的书写顺序,一步一步运行. //例题:#include <stdio.h&g ...
- 基于中间代码的优化中,循环的查找算法有哪些?循环优化的方法有哪些?举例说明。
基于中间代码的优化中,循环的查找算法有哪些?循环优化的方法有哪些?举例说明. 基于中间代码的优化中,循环的查找算法有哪些?循环优化的方法有哪些?举例说明. 西北工业大学编译原理课件第八章 代码优化.p ...
最新文章
- 搭建php帮助中心,帮助中心
- Tensorflow Day18 Convolutional Autoencoder
- 初学java小白的疑惑梳理
- Java流(Stream)、文件(File)相关功能 ——菜鸟教程
- 新萝卜家园 GhostXP SP3 一键极速装机版 2012.05
- Matlab排序函数
- Oracle StorageTek磁带库产品线或将终结
- Docker 容器中添加字体
- 【小白学习之路】Java实现简单的飞机大战小游戏
- matlab上机作业,matlab上机作业(数字信号处理)
- Linux v4l2 一 应用层
- 【学习小结】树上的概率、期望问题,树上高斯消元
- tipask 3.5 出错get_class() expects parameter 1 to be object 解决方案及说明
- 2020年全年财报稳健高增长,除了赛道利好之外微盟是如何做到的?
- 使用jquery.wordexport.js导出word文档 设置行间距不生效问题
- insmod等模块命令
- CAD图纸如何批量转换JPG格式?
- 苹果这一次太强硬!如果你的 App 拒绝支持这些技术,将在2020年4月30日后全面下架!...
- 1Tb 硬盘重做系统无法启动修复
- 计算机英语的职业,职业计算机英语教育思索
热门文章
- linux装回win10系统无法开机,Win10/Linux双系统删除之后出现grub无法开机修复方法...
- 计算机毕业生怎么参加清华暑校,上完清华暑校后,怎么才能进清华?
- 近年来机器人主流抓取估计方法总结
- redis进行对比时有对应的key却还是返回false
- 微信小程序navigateBack返回数据
- uboot网口调试Marvell phy 88E1111
- Linux命令--tac(倒序查看文件所有内容)
- html显示fps,Three.js - 使用stats.js库显示帧数(以及画面渲染时间)
- 证券交易所--本方最优对手方最优的区别
- 笔记本电脑禁用集显会变卡?