×

fopen函数参数

fopen函数参数(可作为函数 fopen 中第一个参数的正确格式)

admin admin 发表于2023-05-13 09:36:31 浏览53 评论0

抢沙发发表评论

本文目录

可作为函数 fopen 中第一个参数的正确格式


正确格式:“c:\\user\\text.txt“。在C语言里,\是个转译字符,如果想打入\那么前面必须得加个\转译一下。

告诉编译器后面的那个是个字符\,就是\n,一个\后面加个n就表示换行了。

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

扩展资料:

1、在Windows系统中,文本模式下,文件以“\r\n“代表换行。若以文本模式打开文件,并用 fputs 等函数写入换行符“\n“时。

函数会自动在“\n“前面加上“\r“。即实际写入文件的是“\r\n“。

2、在类 Unix/Linux 系统中文本模式下,文件以“\n“代表换行。所以 Linux 系统中在文本模式和二进制模式下并无区别。

打开方式总结:

各种打开方式主要有三个方面的区别:

1、打开是否为二进制文件,用“b”标识。

2、读写的方式,有以下几种:只读、只写、读写、追加只写、追加读写这几种方式。

参考资料来源:百度百科-fopen


C语言fopen函数中文件打开方式(参数值)


C语言fopen函数用于打开文件。
函数原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);
参数:
path
字符串类型,表示文件所在的路径,包括文件名
mode
打开文件的模式、
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno
中。
mode:
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读写数据,文件必须存在。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
实例:
#include《stdio.h》
#define
F_PATH
“d:\\myfile\\file.dat“
int
main(void)
{
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,“r“);
if(NULL==fp)
{
return
-1;//要返回错误代码
}
fclose(fp);
fp=NULL;//需要指向空,否则会指向原打开文件地址
return
0;
}

c语言fopen函数问题


fopen函数返回的是一个FILE类型的指针,如果是打开文件,文件不存在的话返回值为空,如果存在就返回指向该文件的指针,如果是新建一个文件,返回值就是新建文件的指针,可以利用该指针实现对文件的读写功能。
至于判断是读还是写,是跟fopen第二个参数决定的,也就是由你自己决定。
代码举例:
FILE *fp;
fp=fopen(“D:\\1.txt“,“r“);
“r“代表是读如果D盘下确实有这个文件,fp就是指向该文件的一个指针,如果不存在,就是空。
fp=fopen(“D:\\1.tx“,“w“);
“w“表示写,返回值是指向新建文件的指针。

C语言中fopen函数第一个参数的问题


str=“c:\\study\\test.txt“;
str1=“test.txt“; //如果和源文件同目录可以是文件名
str2=“debug\\test.txt“; //如果目标文件所在文件夹和源文件目录相同,可以不用完整路径
FILE *fp=fopen(str,“r“);

fopen_s的函数参数


pFile
文件指针将接收到打开的文件指针指向的指针。
infilename
文件名。
inmode
允许的访问类型。
---------------------------------------------------
返回值:
如果成功返回0,失败则返回相应的错误代码。
错误代码请到_doserrno,errno, _sys_errlist, and _sys_nerr去了解更多
错误条件 pFile filename mode 返回值 pFile的内容 NULL 任何 任何 EINVAL 没有改变 任何 NULL 任何 EINVAL 没有改变 任何 任何 NULL EINVAL 没有改变 EINVAL:无效的参数。


谢谢啦,写出fopen(),fread()函数参数以及返回值的数据类型及含义


FILE * fopen ( const char * filename, const char * mode );
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
//fopen返回值是文件指针
//fread 返回值是读到的元素个数
//size_t size,要读取的每个元素的字节大小
// size_t count 元素个数
/* fread example: read a complete file */
#include 《stdio.h》
#include 《stdlib.h》
int main () {
FILE * pFile;
long lSize;
char * buffer;
size_t result;
pFile = fopen ( “myfile.bin“ , “rb“ );
if (pFile==NULL) {fputs (“File error“,stderr); exit (1);}
// allocate memory to contain the whole file:
buffer = (char*) malloc (sizeof(char)*lSize);
if (buffer == NULL) {fputs (“Memory error“,stderr); exit (2);}
// copy the file into the buffer:
result = fread (buffer,1,lSize,pFile);
if (result != lSize) {fputs (“Reading error“,stderr); exit (3);}
/* the whole file is now loaded in the memory buffer. */
// terminate
fclose (pFile);
free (buffer);
return 0;
}

对于文件读写函数 fopen的一个疑问


应该是int
main(int
argc,
char
*argv)吧,argv是一个字符串指针,fopen的第一个参数可以是一个
字符数组名
,当然就可以是一个字符串指针了,因为两者都代表相应字符串的首地址。