fclosefclose / fopen

fclose  时间:2021-07-01  阅读:()

C语言中如何用fclose关闭一个文件?

以下是原代码,VC2008编译通过,VC6编译的话需要安装SDK 关闭运行中的exe需要用TerminateProcess函数,而不是fclose。

在使用这个函数之前,需要先找到这个exe运行的进程。

以下程序的第一个参数是你需要关闭exe文件的名字。

// ter_console.cpp : Defines the entry point for the console application. // #include <Windows.h> #include <tchar.h> #include <assert.h> #include <Psapi.h> #include <Shlwapi.h> #ment(lib, "psapi.lib") #ment(lib, "shlwapi.lib") int _tmain(int argc, _TCHAR* argv[]) { LPCTSTR lpProcName = argv[1]; // Enumerate Process BOOL bReturn = FALSE; DWORD dwPidArray[1024] = {0}; DWORD dwRequired = 0; bReturn = EnumProcesses(dwPidArray, sizeof(dwPidArray), &dwRequired); assert(bReturn); // Find the Target Process DWORD i; DWORD dwTotal = dwRequired / sizeof(DWORD); for (i = 0; i < dwTotal; i++) { DWORD dwPid = dwPidArray[i]; if (dwPid != 0) { HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid); if(hProcess) { // Enumerate Modules of Each Process HMODULE hModule = 0; DWORD dwReturnBytes = 0; bReturn = EnumProcessModules(hProcess, &hModule, sizeof(hModule), &dwReturnBytes); if (bReturn) { // Get the Process Name TCHAR szFileName[MAX_PATH] = {0}; GetModuleFileNameEx(hProcess, hModule, szFileName, MAX_PATH); if (lstrcmpi(PathFindFileName(szFileName), lpProcName) == 0) { // Terminate the Process TerminateProcess(hProcess, 1); } } } } } return 0; }

C语言中的fclose函数该怎么用?

fclose()函数功能为:关闭一个流,把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区。

( fopen()打开一个流 ) 头文件: ? ? ?#include<stdio.h> 函数原型: ? int fclose(FILE *stream); 说明: ? ?如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。

出错的原因包括:传给函数的文件指针不合法,程序运行时遇到中断信号或是操作系统出现故障等等,可通过查看errno值来确定出错原因。

因此,正确的使用方法为: if?(?fclose(fp)?) { ????perror("close?file");?//报告相应错误 }但,一般我们写练习代码时,碰上出错的可能性比较小,而且,程序基本上就是运行一次,所以常常不做错误检查。

直接写成fclose(fp); 建议:使用正确的方法书写代码,养成良好的编码习惯,提高程序健壮性,提高程序的可维护性。

fclose时出现错误

(gdb) p fp $21 = (FILE *) 0x603fd0 首先.p fp打印的是文件指针.也就是fp的指针地址.而是文件指针的内容... 你应该使用 p *fp查看_fileno 如果不为-1.则文件是被打开的. 其实在fp前做个检查就好了 ... if(fp) fclose(fp); 还有一种办法.如果你是LINUX的话. 在调试的时候.在fclose之前打上断点.运行到断点的时候ps看下程序的PID.去proc里看下文件是否已经被关闭了... 具体路径在/proc/PID/fd ls -l一下.就可以看到打开了哪些文件.以及文件描述符.如果没有fopen打开的文件.就表示已经被关闭过了...

fclose / fopen

函数名: fclose 功 能: 关闭一个流 用 法: int fclose(FILE *stream); 程序例: #include <string.h> #include <stdio.h> int main(void) { FILE *fp; char buf[11] = "0123456789"; fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。

mode有下列几种形态字符串: r 打开只读文件,该文件必须存在。

r+ 打开可读写的文件,该文件必须存在。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。

若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。

若文件不存在则建立该文件。

a 以附加的方式打开只写文件。

若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。

a+ 以附加方式打开可读写的文件。

若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。

不过在POSIX系统,包含Linux都会忽略该字符。

由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask 值。

返回值 文件顺利打开后,指向该流的文件指针就会被返回。

若果文件打开失败则返回NULL,并把错误代码存在errno 中。

附加说明 一般而言,开文件后会作一些文件读取或写入的动作,若开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。

如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。

如果流为NULL,而且程序可以继续执行,fclose设定error number给EINVAL,并返回EOF。

香港 1核 1G 5M 22元/月 美国 1核 512M 15M 19.36元/月 轻云互联

轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。官方网站:点击进入广州轻云网络科技有限公司活动规则:用户购买任...

欧路云:美国CUVIP线路10G防御,8折优惠,19元/月起

欧路云新上了美国洛杉矶cera机房的云服务器,具备弹性云特征(可自定义需要的资源配置:E5-2660 V3、内存、硬盘、流量、带宽),直连网络(联通CUVIP线路),KVM虚拟,自带一个IP,支持购买多个IP,10G的DDoS防御。付款方式:PayPal、支付宝、微信、数字货币(BTC USDT LTC ETH)测试IP:23.224.49.126云服务器 全场8折 优惠码:zhujiceping...

蓝速数据(58/年)秒杀服务器独立1核2G 1M

蓝速数据金秋上云季2G58/年怎么样?蓝速数据物理机拼团0元购劲爆?蓝速数据服务器秒杀爆产品好不好?蓝速数据是广州五联科技信息有限公司旗下品牌云计算平台、采用国内首选Zkeys公有云建设多种开通方式、具有IDC、ISP从业资格证IDC运营商新老用户值得信赖的商家。我司主要从事内地的枣庄、宿迁、深圳、绍兴、成都(市、县)。待开放地区:北京、广州、十堰、西安、镇江(市、县)。等地区数据中心业务,均KV...

fclose为你推荐
有道云笔记网页版网页版有道云笔记怎么同步到pcwmiprvsewmiprvseweakhashmapJava中isEmpty方法如何使用?溢出隐藏overflow:hidden是什么意思?查字网“很”去掉双人旁读什么?天融信防火墙笔记本怎么登陆天融信防火墙jqlJQL JINQILIN注册过商标吗?还有哪些分类可以注册?vipjr大家觉得vipjr少儿英语怎么样?靠谱不数秦科技数秦科技旗下有哪些区块链项目?色库石伟伟怎么写啊
域名转让网 域名大全 3322动态域名注册 vps代购 金万维动态域名 sugarhosts dreamhost cdn服务器 国外服务器网站 淘宝双十一2018 服务器怎么绑定域名 主机合租 老左正传 cdn加速是什么 四川电信商城 万网主机管理 外贸空间 lamp架构 重庆服务器 免费获得q币 更多