当前位置:  技术问答>linux和unix

C语言,有没有从文件中读取一行的函数

    来源: 互联网  发布时间:2015-06-10

    本文导语:  Linux 下的C语言有没有读取一行的函数 原来TC下fgets()好像是读取一行的,但在linux下该函数的参数改变了, 为读取制定长度的字符串。 望高手指教 | 还是用fgets呀    gets, fgets -- get a strin...

Linux 下的C语言有没有读取一行的函数
原来TC下fgets()好像是读取一行的,但在linux下该函数的参数改变了,
为读取制定长度的字符串。

望高手指教

|
还是用fgets呀
   gets, fgets -- get a string from a stream

Synopsis

   #include 


   char  * gets (char  * s);


   char  * fgets (char  * s, int n, FILE  * stream);

Description

   gets reads characters from the standard input stream (see intro(3)),
   stdin, into the array pointed to by s, until a newline character is
   read or an end-of-file condition is encountered. The newline character
   is discarded and the string is terminated with a null character.

   fgets reads characters from the stream into the array pointed to by s,
   until n -1 characters are read, or a newline character is read and
   transferred to s, or an end-of-file condition is encountered. The
   string is then terminated with a null character.

   When using gets, if the length of an input line exceeds the size of s,
   indeterminate behavior may result. For this reason, it is strongly
   recommended that gets be avoided in favor of fgets.

  Errors

   If end-of-file is encountered and no characters have been read, no
   characters are transferred to s and a null pointer is returned. If a
   read operation was attempted, and an error occurs, such as trying to
   use these functions on a file that has not been opened for reading, a
   null pointer is returned. If end-of-file is encountered, the EOF
   indicator for the stream is set. Otherwise s is returned.

   The functions gets and fgets fail when the file is a regular file and
   an attempt was made to read at or beyond the offset maximum associated
   with the corresponding stream. There is no data transfer.
函数一直读到换行或者n个数据才停止,所以当n指定很大的时候,肯定读取1行了

|
用fscanf标准读入
for example

fscanf(file,"%d %s",id,name)

完全是标准读入 一一对应

|
标准io 是fgets gets 无缓存io read 你要设置终端模式为行缓存 为 文件一行的长度。
推荐标准io.

|
int main(int argc, char *argv[]){
 FILE *in, *out;
 char buffer[256];

 if((in = fopen(argv[1], "r")) != NULL && (out = fopen(argv[2]), "w")) != NULL){
   while(fgets(buffer, sizeof(buffer), in)){
     fputs(buffer, out);
   }
 }
 fclose(in);
 fclose(out);
}

|
楼上说的都对!
随便一本c语言书上都有的

|
嗯,谁来总结一下读文件的各种方式?

|
fgets

    
 
 

您可能感兴趣的文章:

  • Linux下C语言strstr()查找子字符串位置函数详细介绍(strstr原型、实现及用法)
  • java 的条件判断函数(类似于别的语言iif函数)
  • Unix系统函数和C语言标准函数库有重叠的部分吗?
  • c语言也能重载函数? 怎么解释。unix编程的open函数。
  • SAC函数式编程语言
  • 我在c语言下建立一个函数,难道不能在函数名称前加 void 么?
  • 在Unix下C语言中的SignalInit函数怎么用
  • Linux添加系统调用时如何调用C语言库函数
  • C语言中函数声明与调用问题
  • c语言 字符串函数 子串
  • C语言哈希函数库 murmur3
  • C语言字符串函数库 Strfunc
  • 常用C语言函数库 libasn
  • 如何实现类似PHP.PB等语言中eval的函数功能?
  • 哪里有linux下C语言库函数手册?
  • 何处可得 标准C语言函数源代码?
  • LINUX C语言中,用什么函数可以设置日期和时间?
  • 函数式编程语言 Whiley
  • linux下C语言怎么没有getch()函数?
  • 怎么阅读c语言的程序?到什么地方找每个函数都是做什么的?
  • C语言中什么函数可以设置程序的当前工作路径
  • 请问在c语言里怎么删除一个文件里边的一行或者一段
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下如何用c语言读取和设置网关
  • C语言读取MySQL的NULL值出错
  • 请问LINUX下怎么用C语言对文件进行操作(包括新建、读取、删除、修改)
  • linux下如何用c语言实现按行读取
  • 求教,LINUX里用C语言读取微型数据库文件方法
  • 请教各位大虾 : 如何用C语言 实现读取 wtmp 等系统日志 的功能????
  • c语言读取csv文件和c++读取csv文件示例分享
  • c语言读取obj文件转换数据的小例子
  • 在VC下如果要打开其它语言命名的文件读行二进制读取可以用TCHAR来定义文件名,读写函数他自己会自动选择,现在要换到LINUX下(UBUNTU)下开发,如果有多种语言命名的文件,我应该用什么类型来存放文件名?
  • 请教linux(C语言)下标准ini文件的读取,写入?配置管理
  • linux环境下,c语言怎么读取WEB服务器的80端口上页面的内容?
  • C语言读取BMP图像数据的源码
  • 2013年7月和2013年8月编程语言排行榜
  • 如何在GTK2.0下实现国际化(语言选择根据自己设置的语言,不用系统的语言)
  • 2017 年热门编程语言排行榜出炉,你的语言上榜没?
  • C语言中有指针,因此C语言可以创建链表,那么Java语言没有指针,那Java是否可以创建链表呢?
  • 苹果OS X和IOS下最新编程语言swift介绍
  • 求助,在linux下,c语言和汇编语言的接口是什么?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • C语言中间语言 CIL
  • PHP编程语言介绍及安装测试方法
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • c语言实现MD5算法完整代码示例
  • 动态编程语言 LIME编程语言
  • 以NetBeans IDE为例介绍如何使用XML中Schema语言
  • C语言如何改变当前语言环境
  • c语言基于libpcap实现一个抓包程序过程
  • 如何在VIM中使汇编语言和C语言自动缩进?
  • HTML超文本标记语言教程及实例
  • 我安装的linux时默认语言选择的是中文,又乱码,怎么可以解决?怎么更改默认语言成英文?
  • MD5算法的C语言实现


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3