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。

Friendhosting 黑色星期五 VDS/VPS可享四五折优惠促销

Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...

金山云:618年中促销,企业云服务器2核4G仅401.28元/年,827.64元/3年

金山云618年中促销活动正在进行中!金山云针对企业级新用户优惠力度比普通个人用户优惠力度要大,所以我们也是推荐企业新用户身份购买金山云企业级云服务器,尽量购买3年配置的,而不是限时秒杀活动中1年的机型。企业级用户购买金山云服务器推荐企业专区:云服务器N3 2核4G云服务器,1-5M带宽,827.64元/3年,性价比高,性能稳定!点击进入:金山云618年中促销活动目前,金山云基础型E1云服务器2核4...

百纵科技(1399元/月)香港CN2站群232IP

湖南百纵科技有限公司是一家具有ISP ICP 电信增值许可证的正规公司,多年不断转型探索现已颇具规模,公司成立于2009年 通过多年经营积累目前已独具一格,公司主要经营有国内高防服务器,香港服务器,美国服务器,站群服务器,东南亚服务器租用,国内香港美国云服务器,以及全球专线业务!活动方案:主营:1、美国CN2云服务器,美国VPS,美国高防云主机,美国独立服务器,美国站群服务器,美国母机。2、香港C...

fclose为你推荐
郭凡生馬云的簡介3Qbindserviceservice在手机程序中起什么作用调度系统1.说明高级调度、中级调度和低级调度的基本含义。数秦科技安徽数智通科技有限公司怎么样?spawning急救!编好C++程序后(确认无误),再编译时总出现error spawning 是什么意思?是不是系统出了问题mediasRES代表什么意思什么是SOA什么是java架构新手怎么制作表格如何学会制作表格?水表读数普通家庭一天水表读数是多少基础设施即服务基础设施是什么意思啊?
虚拟主机控制面板 河南虚拟主机 cc域名 高防服务器租用选锐一 淘宝二级域名 host1plus 域名优惠码 42u标准机柜尺寸 彩虹ip godaddy域名证书 河南移动邮件系统 谁的qq空间最好看 徐正曦 cdn加速原理 南通服务器 空间技术网 搜索引擎提交入口 新睿云 备案空间 iki 更多