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

标准I/O函数fgets()的用法?//linux C编程

    来源: 互联网  发布时间:2017-03-07

    本文导语:  本帖最后由 rbf926 于 2012-08-02 15:07:53 编辑 首先往/home/ryan/file里写入字符串"hellonworldn",然后关闭流fp,再重新打开流,从文件/home/ryan/file读取字符串的时候能将字符串显示在标准输出。但是如果将字符串"hellonworldn"写入/h...

本帖最后由 rbf926 于 2012-08-02 15:07:53 编辑
首先往/home/ryan/file里写入字符串"hellonworldn",然后关闭流fp,再重新打开流,从文件/home/ryan/file读取字符串的时候能将字符串显示在标准输出。但是如果将字符串"hellonworldn"写入/home/ryan/file后,没有关闭流,而是直接对该流执行fgets(),标准输出没有显示任何字符。请问这是为何?
#include
int main()
{
    FILE * fp = NULL;
    char * retchar = NULL;
    char output[] = "hellonworldn";
    char buf[32]={0};
    if (NULL == (fp = fopen("/home/ryan/file","w+")));
       {
           perror("open /home/ryan/file");
           exit(1);
        }
    fputs(output,fp);
    fclose(fp);
    fopen("/home/ryan/file","r");
    while((retchar = fgets(buf,32,fp))!=NULL)
    {
         puts(buf);
     }
    fclose(fp);
    return 0;
}

|
修改一下。重新打开文件,把文件六指针指向文件的开头。
 fp=fopen("/home/ryan/file","r");
 fseek(fp, 0, SEEK_SET);
  while((retchar = fgets(buf,32,fp))!=NULL)
  {
  puts(buf);
  }
  fclose(fp);
  return 0;

 fseek 重定位流(数据流/文件)上的文件内部位置指针
  注意:不是定位文件指针,文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变指向别的文件。

|
将文件指针fseek偏移到文件头部。

    
 
 

您可能感兴趣的文章:

  • php STDIN标准输入用法举例
  • 标准I/O函数提供一种对不用缓冲的I/O函数的带缓存的界面?
  • 标准C下没有字符处理函数,怎样写一个实现下面功能的函数?
  • 标准I/O函数
  • Unix系统函数和C语言标准函数库有重叠的部分吗?
  • 初学Unix,问:标准级函数,如fopen,fclose;系统级函数open,close,两者什么关系?(在一篇讲文件操作的文章中看到的)
  • 请问高手,如何用linux操作系统里的标准c函数获取bios时间,高分!!!!
  • 何处可得 标准C语言函数源代码?
  • 标准C有没有截取字符串的函数?
  • vim写程序如何自动提示标准C库函数原型及linux系统调用的原型?
  • 如何使用ar命令检查在标准的C库中收藏了多少与printf相关的函数
  • linux iis7站长之家
  • linux下的c++如何安装标准库函数的manual??
  • 请问怎么看系统标准库函数的源程序?
  • c语言标准库中字符转换函数和数字转换函数
  • 请问,在unix/linux 环境中有没有可以移动文件的C/C++的标准函数?相当于命令mv。
  • 有返回值的函数,却没有return语句,这种情况下有没有标准语义?
  • 如何查看标准的库函数详细的使用方法?
  • C++标准模板库函数sort的那些事儿
  • 如何将vsprintf加入系统标准函数库中
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教一下哪里有UNIX下C编程标准下载?
  • (专业编程的问题)Linux下是否支持svr4标准?
  • 各位大侠,请推荐几本在UNIX环境下使用标准C语言编程的好书.谢谢啊!!!
  • 有关linux编程标准。
  • 如何从标准设备取得字符串?关于c编程
  • 标准视频采集卡 数据采集 编程!linux下的问题?
  • 调查在unix/linux 下用c编程时你们使用c的stdio库 还是C++的标准流库?
  • shell编程之一__DOS 下读取标准输入?
  • Linux下C++编程时的包含标准库的头文件问题
  • linux下C编程时标准的运行库在那里找?难道要把TURBO C的靠过来用
  • c语言网络编程-标准步骤(比较简单)
  • c语言网络编程-标准步骤(改进版)
  • C++ I/O 成员 sync_with_stdio():同标准I/O同步
  • 有没有这样的软件:把一个不标准格式的JAVA原代码转换为具有标准(或比较标准)编码规范的代码。
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 请问如何将标准输出重定向到标准输入?
  • C++准标准库boost库中文介绍
  • 有关标准输入,标准输出等的弱问!送分
  • 标准c++四种强制类型转换方式介绍
  • 请问能否把JCombobox控件设成标准列表框(window标准风格)
  • C++ STL标准模板库类String成员详细列表参考及示例代码
  • 我用管道作为一个程序的标准输入时,程序报错说不是一个终端不能做为标准输入,请问怎么样管道成为它的标准输入呢???具体错误信息见内
  • HTML 标准颜色值实例代码表
  • 用标准件的方式来组装网页DIV布局-WEB标准网站设计心得
  • 当A,B程序都在不断读入标准输入的时候, 为什么往A标准输入里面输入的数据一定能被A读到,而不是被B读到?
  • 为什么要建立web标准与web标准的好处
  • 关于标准输出的缓冲造成的死锁
  • 可移植的C++标准库 Boost
  • 如何在关闭标准输入输出之后重新打开它们
  • linux支持标准问题
  • 标准兼容的 WYSIWYG 编辑器 XStandard


  • 站内导航:


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

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

    浙ICP备11055608号-3