fclose为什么fclose之后remove还是不成功

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

C语言中,用fopen打开程序了程序,结束时为什么要用fclose关闭?

fclose有两个作用: 1. 将输出缓冲区内容写到存储设备上 2. 释放对应的资源 如果不调用fclose,相应地,可能会造成 1. 对文件的更改没有被记录到磁盘上 2. 其他进程无法存取该文件 中的一种或者多种后果。

因此对应fopen地调用fclose是必要的

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

你是想关闭一个已打开用来读/写的文件,还是想关闭一个正在运行的程序? 我写了一个结束进程的程序,你看看能不能用。

#include <windows.h> #include <tlhelp32.h> #define PROCESS_NAME "noname.exe" //在这里定义你要结束的进程名 void main() { int foundProcess = 0; PROCESSENTRY32 pe32 = {sizeof(PROCESSENTRY32)}; HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); // 在进程列表中搜索,目的是为了得到对应进程的PID。

if (Process32First(hProcessSnap, &pe32)) { do { if(strcmp(PROCESS_NAME, pe32.szExeFile) == 0) { foundProcess = 1; break; } }while(Process32Next(hProcessSnap, &pe32)); } CloseHandle(hProcessSnap); if(foundProcess) { HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID); //通过PID连接到进程 if (hProcess) { if(TerminateProcess(hProcess, 0)) //结束进程 { MessageBox(NULL, "成功结束进程 ","结束进程",MB_OK|MB_ICONASTERISK) ; } else { MessageBox(NULL, "无法结束进程 ","结束进程",MB_OK|MB_ICONASTERISK) ; } CloseHandle(hProcess) ; } } else { MessageBox(NULL, "无法找到进程 ","结束进程",MB_OK|MB_ICONASTERISK) ; } }

C语言中 fclose(fp) 啥意思

fclose是C语言标准库中的一个函数,功能是关闭一个流。

  函数原型:int fclose(FILE *stream);   如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。

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

为什么fclose之后remove还是不成功

进程在占用那个文件,只有那个进程能删。

比如你的程序fclose之后,调用函数删除,是可以成功删除的。

#include <stdio.h> int main(){ FILE *fp; fp = fopen("file", "r+"); fclose(fp); remove("file"); return 0; }文件会成功被删除。

VirMach(8元/月)KVM VPS,北美、欧洲

VirMach,成立于2014年的美国IDC商家,知名的低价便宜VPS销售商,支持支付宝、微信、PayPal等方式付款购买,主打美国、欧洲暑假中心产品,拥有包括洛杉矶、西雅图、圣何塞、凤凰城在内的11个数据中心可以选择,可以自由搭配1Gbps、2Gbps、10Gbps带宽端口,有Voxility DDoS高防IP可以选择(500Gbps以上的防御能力),并且支持在控制面板付费切换机房和更换IP(带...

Dataideas:$1.5/月KVM-1GB/10G SSD/无限流量/休斯顿(德州)_主机域名

Dataideas是一家2019年成立的国外VPS主机商,提供基于KVM架构的VPS主机,数据中心在美国得克萨斯州休斯敦,主机分为三个系列:AMD Ryzen系列、Intel Xeon系列、大硬盘系列,同时每个系列又分为共享CPU和独立CPU系列,最低每月1.5美元起。不过需要注意,这家没有主页,你直接访问根域名是空白页的,还好他们的所有套餐支持月付,相对风险较低。下面以Intel Xeon系列共...

香港服务器促销:香港华为云混合服务器、高防服务器首月半价,普通110M大带宽服务器月付799,付5用6,付10用13

博鳌云是一家以海外互联网基础业务为主的高新技术企业,运营全球高品质数据中心业务。自2008年开始为用户提供服务,距今11年,在国人商家中来说非常老牌。致力于为中国用户提供域名注册(国外接口)、免费虚拟主机、香港虚拟主机、VPS云主机和香港、台湾、马来西亚等地服务器租用服务,各类网络应用解決方案等领域的专业网络数据服务。商家支持支付宝、微信、银行转账等付款方式。目前香港有一款特价独立服务器正在促销,...

fclose为你推荐
scanf_sscanf_s和以前的scanf是一样等级的吗???settimerMFC 中,全局SetTimer函数怎么用?查字网“很”去掉双人旁读什么?拓扑关系什么是空间数据的拓扑关系jdk6jdk-6u14-windows-i586.exe是什么,具体点,谢谢索引超出了数组界限索引超出了数组界限是怎么回事啊?waves插件MuseScore vst插件怎么安装色库赤峰中色库博红烨锌业有限公司就是冶炼厂在 赤峰的 什么地方,一 人知道吗???memsql如何自己实现一个关系型数据库图片存储怎么把存图片存储另一种方式?
注册国际域名 下载虚拟主机 短域名 如何注册网站域名 免费动态域名解析 主机屋 2019年感恩节 edgecast hostmonster asp.net主机 免费smtp服务器 免空 腾讯云分析 帽子云 河南m值兑换 赞助 空间合租 微软服务器操作系统 四核服务器 常州联通宽带 更多