zoukankan      html  css  js  c++  java
  • matlab中fgetl、fgets、fread函数

    tline = fgets(fileID)

    从文件中读取行,保留换行符 (换行符和回车符)

     
    从文件中读取行,保留换行符 读取指定的文件的下一行,包括换行符。 fileid是一个整数文件标识符从fopen获得。 tline是一个文本字符串,除非该行只包含结束的文件标记。在这种情况下,tline是数字值-1。与fgets读取字符的编码方案使用与该文件相关联。要指定的编码方案,使用fopen。

    tline=fgetl(fid)
    从文件中读取行,删除文件换行符

    返回由文件标识符fid指示的文件的下一行。如果fgetl遇到文件结束指示符,则返回-1。对于fid的完整描述请参考fopen函数。fgetl函数常用于含有文件换行符的文件。 

    例如:mm.txt文件内容

    1 2 2 3
    4 5 6
    2 5 6 8
    265
    3

    利用 fgetl()读入时结果:

    c=fgetl(fid)

    c =

    1 2 2 3

    利用fgets()读入结果

    >> a=fgets(fid)

    a =

    1 2 2 3

    >> whos c
      Name      Size                    Bytes  Class

      c         1x7                        14  char array

    Grand total is 7 elements using 14 bytes

    >> whos a
      Name      Size                    Bytes  Class

      a         1x9                        18  char array

    Grand total is 9 elements using 18 bytes

    当利用fread()读入时,便可以清楚的理解利用fgets()多出来的两个字符。

    e=fread(fid)

    e =

        49
        32
        50
        32
        50
        32
        51
        13
        10
        52
        32
        53
        32
        54
        13
        10
        50
        32
        53
        32
        54
        32
        56
        13
        10
        50
        54
        53
        13
        10
        51

    可以看到,利用fread读入的是二进制ASCII码,ASCII码10 和13 对应的是换行符和回车符。这就是fgets()为什么比fgetl()多两个字符的原因,在每个换行的时候都会有换行符和回车符。

    当利用UltrEdit打开mm.txt文件转换二进制格式就可以看到

    都是从文本文件里面读一行的内容,差别在于,前者返回的结果中包含换行符而后者忽略换行符。另外还有一点,fgets 调用时可以附加一个参数,指定一次最多读多少个字符(在行很长的时候避免消耗资源太大)。

    事实上,如果你细心点看看,会发现其实 fgetl 是通过调用 fgets 实现的——换言之,fgets是内建(built-in)函数,而fgetl是可以看到源代码的m-文件。
  • 相关阅读:
    冒泡排序
    【代码审计】appcms 文件包含漏洞
    【知识学习】PHP实现批量替换字典后缀
    【代码学习】PYTHON 列表循环遍历及列表常见操作
    【代码学习】PYTHON字符串的常见操作
    【知识学习】Sublime Text 快捷键精华版
    【代码审计】变量覆盖漏洞详解
    【渗透测试】Msf提权步骤
    【代码审计】VAuditDemo 前台搜索功能反射型XSS
    【代码审计】VAuditDemo 前台搜索注入
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/13140139.html
Copyright © 2011-2022 走看看