4000元以上手机:谁最受欢迎的手机排行

c++循环读取多行文本文件
c++循环读取多行文本文件
  其实主要的思路就是每次调用fgets,文件指针都会跳到下一行。
  自己写的代码
  #include &stdio.h&
  #include &stdlib.h&
  #define Line 1024
  int main()
  //读取多行文件,存多行文件
  FILE *
  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 = (char *)malloc(Line*sizeof(char));
  char *p;
  while(p = fgets(buf,Line,fp))
  printf("%s",p);
  //原来用puts,它还给你多打了一个换行符
  free(buf);
  fclose(fp);
  return 0;
  下面是抄别人的代码
  #include &stdio.h&
  #include &stdlib.h&
  #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 *
  char *buf, filename[20], *p;
  printf("input file name:");
  gets(filename);
  if ((fp=fopen(filename, "r"))==NULL)
  printf("open file error!!\n");
  buf=(char*)malloc(line*sizeof(char));&&&& // buf用来存放读进来的字符串
  while(1)
  p=readdata(fp, buf);//每次调用文件指针fp会自动后移一行 readdata是一个函数
  if(!p)//文件读取结束则跳出循环
  someprocess(buf);
  free(buf);&&& //应该释放空间
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&C++中文件按行读取和逐词读取#include
&iostream&#include
&fstream&#include
& string &using
OutPutAnEmptyLine()//输出空行{cout&& "/n" ;} //读取方式: 逐词读取, 词之间用空格区分void
ReadDataFromFileWBW(){ cout&&"逐词读取, 词之间用空格区分"&&ifstream fin( "data.txt" );
while ( fin && s )
"Read from file: "
}}//读取方式: 逐行读取, 将行读入字符数组, 行之间用回车换行区分void
ReadDataFromFileLBLIntoCharArray(){ cout&&"逐行读取, 将行读入字符数组, 行之间用回车换行区分"&&ifstream fin( "data.txt" ); const
LINE_LENGTH =
100 ; char
str[LINE_LENGTH];
while ( fin.getline(str,LINE_LENGTH) ){
"Read from file: "
&& str &&}}//读取方式: 逐行读取, 将行读入字符串, 行之间用回车换行区分//相比较上种方法,该种方法比较灵活,推荐使用void
ReadDataFromFileLBLIntoString(){cout&&"逐行读取, 将行读入字符串, 行之间用回车换行区分"&&ifstream fin( "data.txt" );
while ( getline(fin,s) ){
"Read from file: "
&& s && }}//带错误检测的读取方式void
ReadDataWithErrChecking(){
filename =
"dataFUNNY.txt" ;
ifstream fin( filename.c_str());
if ( !fin )
"Error opening "
&& filename &&
" for input"
exit(- 1 );
main(){ReadDataFromFileWBW();
//逐词读入字符串 OutPutAnEmptyLine();
//输出空行ReadDataFromFileLBLIntoCharArray();
//逐词读入字符数组OutPutAnEmptyLine();
//输出空行ReadDataFromFileLBLIntoString();
//逐词读入字符串OutPutAnEmptyLine();
//输出空行ReadDataWithErrChecking();
//带检测的读取return
最新教程周点击榜
微信扫一扫阅读排行榜
评论排行榜

我要回帖

更多关于 2017最受欢迎手机 的文章

 

随机推荐