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。

618云上Go:腾讯云秒杀云服务器95元/年起,1C2G5M三年仅288元起

进入6月,各大网络平台都开启了618促销,腾讯云目前也正在开展618云上Go活动,上海/北京/广州/成都/香港/新加坡/硅谷等多个地区云服务器及轻量服务器秒杀,最低年付95元起,参与活动的产品还包括短信包、CDN流量包、MySQL数据库、云存储(标准存储)、直播/点播流量包等等,本轮秒杀活动每天5场,一直持续到7月中旬,感兴趣的朋友可以关注本页。活动页面:https://cloud.tencent...

Buyvm:VPS/块存储补货1Gbps不限流量/$2起/月

BuyVM测评,BuyVM怎么样?BuyVM好不好?BuyVM,2010年成立的国外老牌稳定商家,Frantech Solutions旗下,主要提供基于KVM的VPS服务器,数据中心有拉斯维加斯、纽约、卢森堡,付费可选强大的DDOS防护(月付3美金),特色是1Gbps不限流量,稳定商家,而且卢森堡不限版权。1G或以上内存可以安装Windows 2012 64bit,无需任何费用,所有型号包括免费的...

ZoeCloud:香港BGP云服务器,1GB内存/20GB SSD空间/2TB流量/500Mbps/KVM,32元/月

zoecloud怎么样?zoecloud是一家国人商家,5月成立,暂时主要提供香港BGP KVM VPS,线路为AS41378,并有首发永久8折优惠:HKBGP20OFF。目前,解锁香港区 Netflix、Youtube Premium ,但不保证一直解锁,谢绝以不是原生 IP 理由退款。不保证中国大陆连接速度,建议移动中转使用,配合广州移动食用效果更佳。点击进入:zoecloud官方网站地址zo...

fclose为你推荐
重庆干部网络学院重庆信息技术职业学院showwindowC#中showwindow控件在哪里??oncontextmenu如何禁用ImageButton的右键?郭凡生馬云的簡介3Qeditplus破解版手机的常用软件和ngage的破解版索引超出了数组界限索引超出了数组界限smartuploadSmartUpload组建实现文件上传下载,我要把文件保存到项目中的某个文件夹中,该如何实现?最好有程序参考欢迎页面windows欢迎界面memsql易语言的msql连接怎么不成功,错哪呢?mac地址过滤无线网络的MAC地址过滤是怎么回事
成都虚拟主机 过期域名 成都主机租用 vps租用 hostigation idc评测 华为云服务 星星海 westhost 256m内存 edis BWH 美国php主机 linux空间 谁的qq空间最好看 免费cdn metalink shopex主机 免费mysql数据库 创建邮箱 更多