精华内容
下载资源
问答
  • C语言 fopen函数 参数详解
    2021-05-19 04:27:51

    文件打开函数fopenfopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,“文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件的文件名。 “使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。例如:FILE *fp;

    fp=("file a","r");其意义是在当前目录下打开文件file a, 只允许进行“读”操作,并使fp指向该文件。又如:FILE *fphzk

    fphzk=("c:\hzk16',"rb")其意义是打开C驱动器磁盘的根目录下的文件hzk16, 这是一个二进制文件,只允许按二进制方式进行读操作。两个反斜线“\ ”中的第一个表示转义字符,第二个表示根目录。使用文件的方式共有12种,下面给出了它们的符号和意义。文件使用方式        意 义“rt”      只读打开一个文本文件,只允许读数据

    “wt”      只写打开或建立一个文本文件,只允许写数据

    “at”      追加打开一个文本文件,并在文件末尾写数据

    “rb”      只读打开一个二进制文件,只允许读数据

    “wb”       只写打开或建立一个二进制文件,只允许写数据

    “ab”       追加打开一个二进制文件,并在文件末尾写数据

    “rt+”      读写打开一个文本文件,允许读和写

    “wt+”      读写打开或建立一个文本文件,允许读写

    “at+”      读写打开一个文本文件,允许读,或在文件末追加数 据

    “rb+”      读写打开一个二进制文件,允许读和写

    “wb+”      读写打开或建立一个二进制文件,允许读和写

    “ab+”      读写打开一个二进制文件,允许读,或在文件末追加数据对于文件使用方式有以下几点说明:1. 文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:r(read): 读w(write): 写a(append): 追加t(text): 文本文件,可省略不写b(banary): 二进制文件+: 读和写

    更多相关内容
  • 函数用于打开文件或者 URL。 php fopen()函数 语法 作用:打开文件或者 URL。 语法: fopen(filename,mode,include_path,context) 参数: filename 必需。规定要打开的文件或 URL。 mode 必需。...
  • 【方法】Keil 5下STM32F103VE单片机通过C语言本身的fopen函数打开存储在W25Q128存储器中的文件-附件资源
  • MATLAB fopen函数的格式及功能的描述
  • fopen函数

    千次阅读 2022-03-12 16:54:45
    fopen 函数的定义使用了常量指针,因此可以放心使用,(Linux系统会对试图修改常量的行为报错) $/RET ...skipping... RETURN VALUE Upon successful completion fopen(), fdopen() and freopen()...

    No manual entry for fopen

    如果出现这个错误,可以尝试yum install man-pages,因为默认的manual不完整。

    $ man fopen
    
    #include <stdio.h>
    
           FILE *fopen(const char *pathname, const char *mode);
    

    fopen 函数的定义使用了常量指针(const char*),因此可以放心使用,(Linux系统会对试图修改常量的行为报错)

    返回值解析:

    $/RET
    ...skipping...
    RETURN VALUE
           Upon successful completion fopen(), fdopen() and freopen() return a FILE pointer.
    Otherwise, NULL  is returned and errno is set to indicate the error.
    如果成功则返回FILE指针,否则返回NULL,errno被设置来表明错误
    

    errno是一个宏;
     

    The argument mode points to a string beginning with one  of  the  following
    sequences (possibly followed by additional characters, as described below):
    这个mode只能识别一个串开头的内容,如:readwrite不会报错,但只会识别r。
           r      Open  text file for reading.  The stream is positioned at the begin‐
                  ning of the file.
    文件以只读形式打开。文件位置指针定位在文件开头(从头开始读文件);
           r+     Open for reading and writing.   The  stream  is  positioned  at  the
                  beginning of the file.
    文件以读写形式打开,从头开始读文件;
           w      Truncate  file  to zero length or create text file for writing.  The
                  stream is positioned at the beginning of the file.
    有文件则截断成零长度(清空),无文件则以只写形式创建
           w+     Open for reading and writing.  The file is created if  it  does  not
                  exist,  otherwise  it is truncated.  The stream is positioned at the
                  beginning of the file.
    以读写打开,无则创建,有则清空,
           a      Open for appending (writing at end of file).  The file is created if
                  it does not exist.  The stream is positioned at the end of the file.
    
           a+     Open  for  reading and appending (writing at end of file).  The file
                  is created if it does not exist.   The  initial  file  position  for
                  reading  is  at  the  beginning  of  the  file, but output is always
                  appended to the end of the file.
    
    
    

    注意:1、如果程序需要移植到windows,则需要加b,表示二进制流。

    2、报错的俩个函数:

    perror(),

    stderror(),注意包括string.h

    3、r模式不会创建文件,如果文件不存在则会报错。

    4、fopen的返回值在堆上,fclose里面会有free操作来释放堆;

    6  ************************************************************************/
      7 //统计文件字符数
      8 #include<stdio.h>
      9 #include<stdlib.h>
     10 #include<string.h>
     11 int main(int argc,char **argv)
     12 {
     13     FILE *fp;
     14     int count=0;
     15     if(argc<2)
     16     {
     17     fprintf:(stderr,"Usage:....\n");
     18         exit(1);
     19     }
     20     fp=fopen(argv[1],"r");
     21     if(fp== NULL)
     22     {                                                                            
     23             perror("fopen()");
     24             exit(1);
     25     }

     更新于

    展开全文
  • fopen函数打开文件或者 URL 语法: resource fopen( string filename, string mode ) fopen()将 filename 指定的名字资源绑定到一个流上。 参数: 1. filename为尝试打开/创建的文件名。 如果 ...
  • Matlab中fopen函数用法

    万次阅读 多人点赞 2020-12-17 20:26:30
    fopen函数打开文件或获得有关打开文件的信息。 语法 fileID = fopen(filename) fileID = fopen(filename,permission) fileID = fopen(filename,permission,machinefmt,encodingIn) [fileID,errmsg] = fopen(__...

    目录

    语法

    说明

    示例

    打开文件并将标识符传递给文件 I/O 函数

    请求要打开的文件的名称

    打开要写入的文件并指定访问类型、写入顺序、字符编码

    获取有关已打开文件的信息


            fopen函数打开文件或获得有关打开文件的信息。

    语法

    fileID = fopen(filename)
    
    fileID = fopen(filename,permission)
    
    fileID = fopen(filename,permission,machinefmt,encodingIn)
    
    [fileID,errmsg] = fopen(___)
    
    fIDs = fopen('all')
    
    filename = fopen(fileID)
    
    [filename,permission,machinefmt,encodingOut] = fopen(fileID)

    说明

    • fileID = fopen(filename) 打开文件filename以便以二进制读取形式进行访问,并返回等于或大于 3 的整数文件标识符。MATLAB® 保留文件标识符 0、1 和 2 分别用于标准输入、标准输出(屏幕)和标准错误。
    • 如果 fopen 无法打开文件,则 fileID 为 -1。
    • fileID = fopen(filename , permission ) 将打开由permission指定访问类型的文件。
    • fileID = fopen(filename , permission ,machinefmt,encodingIn) 使用machinefmt参数另外指定在文件中读写字节或位时的顺序。可选的encodingIn参数指定与文件相关联的字符编码方案。
    • 如果 fopen 打开文件失败,则 [fileID,errmsg] = fopen(___) 还将返回一条因系统而异的错误消息。否则,errmsg 是一个空字符向量。您可以将此语法与前面语法中的任何输入参数结合使用。
    • fIDs = fopen('all') 返回包含所有打开文件的文件标识符的行向量。为标准输入、输出以及错误而保留的标识符不包括在内。向量中元素的数量等于打开文件的数量。
    • filename = fopen(fileID) 返回上一次调用fopen在打开 fileID 指定的文件时所使用的文件名。输出文件名将解析到完整路径。fopen函数不会从文件读取信息来确定输出值。
    • [filename,permission,machinefmt,encodingOut] = fopen(fileID) 还会返回上一次调用 fopen 在打开指定文件时所使用的权限、计算机格式以及编码。如果是以二进制模式打开的文件,则 permission 会包含字母 'b'。encodingOut 输出是一个标准编码方案名称。fopen 不会从文件读取信息来确定这些输出值。无效的 fileID 会为所有输出参数返回空字符向量。

    示例

    打开文件并将标识符传递给文件 I/O 函数

            打开文件并将文件标识符传递给fgetl函数以读取数据。

            打开文件tsunamis.txt并获取文件标识符。

    fileID = fopen('tsunamis.txt');

            将fileID传递给fgetl函数以从文件读取一行。

    tline = fgetl(fileID)
    
    tline =
    
      'A global tsunami data set in xlsx format, comprising the following file:'

            关闭文件。

    fclose(fileID)

    请求要打开的文件的名称

            创建一条提示,要求提供待打开文件的名称。如果fopen无法打开文件,则显示相关错误消息。

    fileID = -1;
    errmsg = '';
    while fileID < 0 
       disp(errmsg);
       filename = input('Open file: ', 's');
       [fileID,errmsg] = fopen(filename);
    end

    打开要写入的文件并指定访问类型、写入顺序、字符编码

            打开一个文件,使用 Shift-JIS 字符编码写入到文件。

    fileID = fopen('japanese_out.txt','w','n','Shift_JIS');

            'w' 输入指定写入权限,'n' 输入指定本机字节排序方式,'Shift_JIS' 指定字符编码方案。

    获取有关已打开文件的信息

            假定以前使用 fopen 打开了文件。

    fileID = fopen('tsunamis.txt');

            获取所有已打开文件的文件标识符。

    fIDs = fopen('all')
    fIDs =
    
         3

            获取已打开文件的文件名称及字符编码。使用 ~ 代替希望省略的输出参数。

    [filename,~,~,encoding] = fopen(fileID)
    filename =
    
        'matlabroot\toolbox\matlab\demos\tsunamis.txt'
    
    
    encoding =
    
        'windows-1252'

            这里显示的输出内容有代表性。结果可能有所不同。

    输入参数

    filename - 要打开的文件的名称
    字符向量或字符串标量

            要打开的文件名称(含文件扩展名),指定为字符行向量或字符串标量。如果该文件不在当前文件夹中,则 filename 必须包含完整或相对路径。

            在UNIX® 系统上,如果 filename 以 '~/' 或 '~username/' 开头,则 fopen 函数分别延长路径至当前用户或指定用户的主目录。

    • 如要打开有读取权限的文件而该文件不在当前文件夹中,则fopen将沿MATLAB搜索路径进行搜索。

    • 如要打开有写入或追加权限的文件而该文件不在当前文件夹中,则fopen将在当前目录中创建一个文件。

    示例: 'myFile.txt'

    数据类型: char | string

    permission - 文件访问类型

    'r' (默认) | 'w' | 'a' | 'r+' | 'w+' | 'a+' | 'A' | 'W' | .

            文件访问类型,指定为字符向量或字符串标量。可以用二进制模式或文本模式打开文件。在 UNIX 系统上,两种转换模式具有相同的效果。要以二进制模式打开文件,请指定以下各项之一。

    'r'

    打开要读取的文件。

    'w'

    打开或创建要写入的新文件。放弃现有内容(如果有)。

    'a'

    打开或创建要写入的新文件。追加数据到文件末尾。

    'r+'

    打开要读写的文件。

    'w+'

    打开或创建要读写的新文件。放弃现有内容(如果有)。

    'a+'

    打开或创建要读写的新文件。追加数据到文件末尾。

    'A'

    打开文件以追加(但不自动刷新)当前输出缓冲区。

    'W'

    打开文件以写入(但不自动刷新)当前输出缓冲区。

            要以文本模式打开文件,请将字母 't' 附加到 permission 参数,例如 'rt' 或 'wt+'。

            在 Windows® 系统上,以文本模式:

    • 读取操作如果遇到回车符后加换行符 ('\r\n'),则会从输入中删除回车符。

    • 写入操作在输出中的任何换行符之前插入一个回车符。

    ​        如果要在 MATLAB 中写入文件,则以文本模式打开或创建新文件,然后在 Microsoft® 记事本或不会将 '\n' 识别为换行符序列的任意文本编辑器中打开该文件。写入文件时,用 '\r\n' 结束每行。有关示例,可以参考fprintf函数。否则,请以二进制模式打开文件以获得更佳的性能。​

    要读写同一文件:

    • 采用带加号 '+' 的 permission 值打开文件。

    • 在读写操作之间调用 fseek或frewind。例如,不在调用fread后调用fwrite,或调用 fwrite 后调用 fread,除非在它们之间调用 fseek 或 frewind。

    数据类型: char | string

    machinefmt - 读取或写入字节或位的顺序
    'n' (默认) | 'b' | 'l' | 's' | 'a' | ...

            在文件中读取或写入字节或位的顺序,指定为以下字符向量或字符串标量之一。

    'n' 或 'native'

    系统字节排序方式(默认)

    'b' 或 'ieee-be'

    Big-endian 排序

    'l' 或 'ieee-le'

    Little-endian 排序

    's' 或 'ieee-be.l64'

    Big-endian 排序,64 位长数据类型

    'a' 或 'ieee-le.l64'

    Little-endian 排序,64 位长数据类型

            默认情况下,当前支持的所有平台都使用 little-endian 排序方式对新文件进行排序。现有二进制文件可以使用 big-endian 或 little-endian 排序方式。

    数据类型: char | string

    encodingIn - 字符编码
    'UTF-8' | 'ISO-8859-1' | 'windows-1251' | 'windows-1252' | ...

            后续读写操作使用的字符编码,包括 fscanffprintffgetlfgetsfread 以及 fwrite,指定为字符向量或字符串标量。该字符向量或字符串标量必须包含标准字符编码方案名称,如下所示。

    'Big5'

    'ISO-8859-1'

    'windows-874'

    'Big5-HKSCS'

    'ISO-8859-2'

    'windows-949'

    'CP949'

    'ISO-8859-3'

    'windows-1250'

    'EUC-KR'

    'ISO-8859-4'

    'windows-1251'

    'EUC-JP'

    'ISO-8859-5'

    'windows-1252'

    'EUC-TW'

    'ISO-8859-6'

    'windows-1253'

    'GB18030'

    'ISO-8859-7'

    'windows-1254'

    'GB2312'

    'ISO-8859-8'

    'windows-1255'

    'GBK'

    'ISO-8859-9'

    'windows-1256'

    'IBM866'

    'ISO-8859-11'

    'windows-1257'

    'KOI8-R'

    'ISO-8859-13'

    'windows-1258'

    'KOI8-U'

    'ISO-8859-15'

    'US-ASCII'

    'Macintosh'

    'UTF-8'

    'Shift_JIS'

            如果不指定编码方案,fopen 将使用系统的默认编码方案打开文件进行处理。

            如果为编码指定的值不在支持的值列表中,则 MATLAB 会发出警告。有时(并非总是)指定其他编码名称会产生正确的结果。

    数据类型: char | string

    fileID - 已打开文件的文件标识符
    整数

            已打开文件的文件标识符,指定为整数。

    数据类型: double

    提示

    • 在大多数情况下,不必以文本模式打开文件。MATLAB 导入函数、所有 UNIX 应用程序以及 Microsoft Word 和写字板都将 '\n' 识别为换行指示符。

    展开全文
  • php fopen函数

    2020-12-25 20:22:00
    php中没有单独的文件创建函数,如果我们想创建函数,可以使用fopen(),fopen()函数字面意思是打开文件,但该函数也有创建文件的功能,...fopen函数打开文件或者 URL 语法: resource fopen( string filename, string...

    php中没有单独的文件创建函数,如果我们想创建函数,可以使用fopen(),fopen()函数字面意思是打开文件,但该函数也有创建文件的功能,当使用 fopen() 函数打开一个文件时,如果文件不存在,则会尝试创建该文件,并返回一个资源。

    php fopen函数介绍

    fopen函数打开文件或者 URL

    语法:

    resource fopen( string filename, string mode )

    fopen()将 filename 指定的名字资源绑定到一个流上。

    参数:

    1. filename为尝试打开/创建的文件名。

    如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。

    如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir 则会应用进一步的限制。

    如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。

    2. mode 指定了打开模式,其可能的值如下:

    打开模式说明
    r只读,并将文件指针指向文件开始位置
    r+读写,将文件指针指向文件开始位置
    w只写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
    w+读写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
    a追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
    a+读写追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
    x只写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE
    x+读写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE

    php fopen函数实例

    1、使用fopen函数创建文件:

    1
    2
    $my_file = 'file.txt' ; //如果文件不存在(默认为当前目录下)
    $handle = fopen($my_file, 'w' ) or die( 'Cannot open file: ' .$my_file); //implicitly creates file

    2、使用fopen函数打开文件:

    1
    2
    $my_file = 'file.txt' ; //假设文件file.txt存在
    $handle = fopen($my_file, 'w' ) or die( 'Cannot open file: ' .$my_file); //open file for writing ('w','r','a')...

    3、fopen函数结合fread读取文件:

    1
    2
    3
    $my_file = 'file.txt' ;
    $handle = fopen($my_file, 'r' );
    $data = fread($handle,filesize($my_file));

    4、fopen函数结合fwrite函数写文件

    1
    2
    3
    4
    $my_file = 'file.txt' ;
    $handle = fopen($my_file, 'w' ) or die( 'Cannot open file: ' .$my_file);
    $data = 'This is the data' ;
    fwrite($handle, $data);

    5、fopen函数结合fwrite函数向文件中追加内容:

    1
    2
    3
    4
    5
    6
    $my_file = 'file.txt' ;
    $handle = fopen($my_file, 'a' ) or die( 'Cannot open file: ' .$my_file);
    $data = 'New data line 1' ;
    fwrite($handle, $data);
    $new_data = "\n" . 'New data line 2' ;
    fwrite($handle, $new_data);

    6、fopen() 函数还可用于打开互联网上的 URL 地址:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $fh = fopen( "http://www.baidu.com/" , "r" );
    if ($fh){
       while (!feof($fh)) {
         echo fgets($fh);
       }
    }
    ?>

    注意:fopen() 返回的只是一个资源,要想显示打开的页面地址,还需要用 fgets() 函数读取并输出。

    展开全文
  • 在我们的PHP开发中会经常遇到fopen()和file_get_contents(),相信很多同学都发现这两个函数基本上都差不多,那么我们今天就来讲讲php fopen()和file_get_contents()的区别到底再哪,废话少说了,一起来看看吧!...
  • linux系统下,可以通过open函数簇和fopen函数簇访问文件,两种访问方式具有不同的特性和访问效率。
  • fopen函数的用法示例In C and C++ programming languages fopen() function is used to open files and make operations like add, update, create for data. In this tutorial we will learn the syntax, usage and...
  • 函数功能:fopen() 将 filename 指定的名字资源绑定到一个流上。如果filename 是 “scheme://…” 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册...
  • linux下fopen函数的使用

    2021-05-12 10:33:31
    请问在linux系统下使用fopen函数,文件名如何设置,比如根目录下mnt目录下的std.txt文件(std.txt最初不存在),是不是应该写成fopen("/mnt/std.txt","wb")。我这样写运行后返回值是NULL,表明打开失败。请问该如何写...
  • fopen函数详解

    千次阅读 2019-01-25 15:17:25
    1.2 文件的输入输出函数 键盘、显示器、打印机、磁盘驱动器等...而在编程时使用最多的要算是磁盘文件, 因此本节主要以磁盘文件为主, 详细介绍Turbo C2.0提供的文件操作函数, 当然这些对文件的操作函数也适合于非磁...
  • 打开文件fopen函数的用法

    千次阅读 2020-12-22 19:44:31
    在C语言中,对文件操作之前,首先需要打开文件,使用的函数是fopen函数,它的作用是打开文件,获取该文件的文件指针,方便后续操作。函数原型为:FILE*fopen(constchar*filename,constchar*mode);可以看得出来,该...
  • 在C语言中,操作文件之前必须先打开文件;所谓“打开文件”,就是让程序和文件建立连接的过程。 打开文件之后,程序可以得到文件的相关信息,例如大小、类型、权限、... 头文件中的 fopen() 函数即可打开文件,它的用法
  • fopen函数的打开模式

    千次阅读 2019-09-17 09:53:34
    fopen()函数 程序使用fopen()函数打开文件,包含头文件 #include <stdio.h> fopen()函数的第一个参数是待打开文件的名称,或者说是一个包含改文件名的字符串;第二个参数是指定待打开文件的模式。 打开模式 ...
  • fopen(c语言fopen函数的用法示例)

    千次阅读 2021-05-19 16:21:39
    请问如何读取 M51文件的bankfopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);...fopen函数用于打开文件并获取文件的指针,以便对文件进行操作.如果想...
  • c语言fopen函数的用法

    2021-05-18 16:11:10
    fopen函数是打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);“文件指针名”必须是被声明为FILE 类型的指针变量;“文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作...
  • c++:在c++中使用fopen函数

    千次阅读 2021-11-15 16:31:46
    #include #include #...= NULL) { cout运行结果 -VirtualBox:~/demo/file$ ./fopen 12345aaa asd 666 12345aaa asd 其中1.txt为已经创建的文件,在c++中,因为没有fopen需要用path.c_str()来转换,然后用strcpy来拷贝
  • C语言中的fopen函数

    万次阅读 多人点赞 2019-03-16 20:51:54
    函数原型:FILE * fopen(const char * path, const char * mode); 相关函数:open, fclose, fopen_s, _wfopen 返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回 NULL,并把错误代码...
  • fopen函数的用法示例 C语言中的fopen()函数 (fopen() function in C) Prototype: 原型: FILE *fopen(const char* filename, const char* mode); Parameters: 参数: const char* filename, const char* ...
  • linux_c语言_fopen函数从文件头读到文件末尾源码
  • 代码如下,一个生成可逆矩阵的子函数,第一个fopen函数里如果用“w”或者“w+”打开就会出错而如代码中所示用“a+”打开就不会出错,求知道求鞭策。。。int matrix()/* 生成可逆矩阵 */{int det,i,j;int **mat;FILE ...
  • php fopen函数以及相关函数

    千次阅读 2018-07-09 16:44:13
    格式:fopen(string $filename , string $mode)fopen() 将 filename 指定的名字资源绑定到一个流上。filename可以是一个本地文件,也可以是一个URL。如果filename 指定的是一个本地文件,该文件必须是 PHP 可以访问...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 119,229
精华内容 47,691
关键字:

fopen函数

友情链接: 归并排序.rar