fopen_s的用法,fopen s函数的用法

http://www.itjxue.com  2023-01-06 12:49  来源:未知  点击次数: 

c语言,fopen_s的第一个实参应该怎么写?FILE**pFILE是啥

你说的这个函数没有用过,不过一般在打开文件的时候都会返回一个文件描述符,其实就是返回一个指针,返回指针的方式有两种

1)返回值

2)参数传递:写法应该是

FILE fp;// 多重指针要注意内存分配的问题,我这里是在stack中分配空间,也可以在heap中分配

fopen_s(fp...

fopen_s的函数参数

pFile

文件指针将接收到打开的文件指针指向的指针。

infilename

文件名。

inmode

允许的访问类型。

---------------------------------------------------

返回值:

如果成功返回0,失败则返回相应的错误代码。

错误代码请到_doserrno,errno, _sys_errlist, and _sys_nerr去了解更多

错误条件 pFile filename mode 返回值 pFile的内容 NULL 任何 任何 EINVAL 没有改变 任何 NULL 任何 EINVAL 没有改变 任何 任何 NULL EINVAL 没有改变 EINVAL:无效的参数。

C语言 fopen_s的问题

fopen_s打开的文件不能共享。如果其他地方打开的该文件没有关闭的话,fopen_s应该是打不开的。

在help里面搜一下fopen_s的描述。

fopen与fopen_s的区别

fopen_s的安全是在于比函数fopen多了溢出检测。

另外在使用上,函数fopen的返回值是文件指针,如果返回的文件指针为NULL时,则表示打开文件失败。而函数fopen_s的返回值是相应的错误代码,通过查看错误代码代表的含义,有助于你排查问题。

还有一点,fopen_s打开的文件不能共享,如果你打开的文件需要共享的话,不能使用fopen_s函数。可以考虑_fsopen,_wfsopen这两个函数。

至于微软提示的警告,可以作为你的一个参考,至于改不改那就是你自己的事了。觉得碍眼的话,也可以参照“少年の俊”的回答去屏蔽掉。

fopen函数用法

fopen("...","...")

第一个参数是指向一个文件,如果当前文件不存在,系统会创建这个文件名。第二个参数是对这个文件进行的操作。例如,只读,读写,写等。

请参看下面的程序,了解其具体用法。下面程序实现的是在zhubihui.txt中写入创建子程序的结果。

#include stdio.h

#include stdlib.h

#include unistd.h

main()

{

int p1,p2,i;

FILE *fp;

fp=fopen("zhubihui.txt","w+");

if(fp==NULL)

{printf("Fail to create file");

exit(-1);

}

while((p1=fork())==-1);

if(p1==0)

{lockf((int)fp,1,0);

for(i=0;i10;i++)

fprintf(fp,"daughter%d\n",i);

lockf((int)fp,0,0);

}

else

{while((p2=fork())==-1);

if(p2==0)

{lockf((int)fp,1,0);

for(i=0;i10;i++)

fprintf(fp,"son%d\n",i);

lockf((int)fp,0,0);

}

else

{

wait(NULL);

lockf((int)fp,1,0);

for(i=0;i10;i++)

fprintf(fp,"parent%d\n",i);

lockf((int)fp,0,0);

}

}

fclose(fp);

}

fopen的用法是什么?

fopen的原型是:FILE *fopen(const char *filename,const char *mode)

参数filename指向要打开的文件名,mode表示打开状态的字符串,其取值如下表

字符串 含义

"r" 以只读方式打开文件

"w" 以只写方式打开文件

"a" 以追加方式打开文件

"r+" 以读/写方式打开文件,如无文件出错

"w+" 以读/写方式打开文件,如无文件生成新文件

你打开ac[1] 是怎么回事? 肯定出错了

(责任编辑:IT教学网)

更多

推荐Frontpage教程文章