问题标签 [fclose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
128 浏览

c++ - 关闭文件后,我无权访问它

我在多线程程序中使用此代码:

有时,在另一个线程(〜每 10 个文件)中有一个错误:“该文件被另一个程序(my.exe)使用”,但在控制台中我看到:“文件已关闭”。有什么问题?互斥锁在使用 ThFunc() 之前被锁定,之后被解锁。

0 投票
4 回答
9749 浏览

c++ - 写入终端和文件 c++

我发现这个问题是针对 Python、Java、Linux 脚本而不是 C++ 回答的:

我想将我的 C++ 程序的所有输出都写入终端和输出文件。使用这样的东西:

仅将其输出到名为“myfile.txt”的输出文件,并防止其显示在终端上。我怎样才能让它同时输出到两者?我使用 Visual Studio 2010 Express(如果这有什么不同的话)。

提前致谢!

0 投票
1 回答
22741 浏览

c - 文件打开错误处理

[问题一]

当我将文件打开到函数中时,通常我会执行以下操作:

通常0返回值是错误的(对吗?)然后我可以将以前的代码更改为:

但我认为第一个代码更干净。

另一种选择是仅更改return 1;return -1;(在我编写的第一个代码中)。

最好的版本是什么?

[问题2]

如果我必须处理更多错误,它是否更正了这样的代码?

0 投票
1 回答
1425 浏览

c++ - 做一个popen(),把FILE*指针放在一个fstream中,pclose()呢?

所以...我开始另一个进程,它接受来自我的程序的一些输入(它也可以反过来)。类似的东西:

现在,我可以将 f 放入 fstream 中,这样我就可以使用流(因为我的程序是 C++ 中的,这似乎是一件明智的事情。)

到这里为止,我很好。现在是我完成向子进程发送数据的时候了。我想要的只是关闭管道。据我所知,我们应该使用 pclose() 因为该函数确保其他进程接收所有数据。换句话说,pclose() 函数知道如何干净利落地关闭管道。

不幸的是,因为我把 f 放在了一个 ofstream 中,我不能直接关闭它,可以吗?

有没有办法从 ofstream 捕获关闭并确保它以我希望它关闭的方式关闭。

0 投票
2 回答
574 浏览

c - C - 通过调用 fclose() 转储内核

我的代码有段错误,我不知道出了什么问题。我已经尽可能地简化了它,但仍然找不到问题。

C 文件 test.c:

test.txt 的内容

通过gdb执行和运行:

删除任何一个未使用的结构成员允许代码执行而不会出错。将任何未使用的结构成员移动到结构的末尾或减小任何 1 或所有数组的大小也允许代码成功执行。段错误也需要 fscanf() 调用的存在

我的语法哪里错了,为什么结构的大小对这个错误如此重要?

0 投票
5 回答
23065 浏览

c - fclose() 导致分段错误

我一直在尝试在 C 中进行简单的文件处理,并且我想确保可以尝试使用此文件来访问该文件

然后它显示

但是如果文件已经预先存在(例如当我手动创建它或当我第二次运行程序时)它不会出现段错误

请帮忙。我需要这个用于一周后到期的最终项目,但我还没有掌握文件和指针的窍门。

我正在使用“gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1”

附言

我在另一个问题中看到了这个

在您的原始代码中无法保证 fopen 实际工作,在这种情况下它将返回 NULL 并且 fclose 不会被定义为行为。

那么我该如何检查它是否有效呢?

0 投票
1 回答
633 浏览

linux - Linux fopen 和 fclose

假设我已经打开了一个带有“rx”标志的文件。

Q1。使用“r”和“rx”有什么区别?

Q2。即使我打开带有“rx”标志的文件,fclose 是否可能会失败?我听说 fclose 失败的大部分原因是由于“刷新”写操作。

Q3。假设我是一个 uid/euid 1000 的进程。如果我的分叉子进程执行到一个“setuid”二进制文件(用户 1001 拥有),父进程是否可以访问打开的文件描述符(文件由 1001 拥有-r-------- 子进程的权限)??如果不可能,究竟如何防止这种情况发生?

Q4。Q1、2、3 会根据 glibc / Linux 内核 / Arch 版本而有所不同吗?

我想从程序员的角度来具体理解这个问题。先感谢您。

0 投票
1 回答
339 浏览

java - Android 使用后退按钮修复关闭主要活动

我正在尝试使用一个简单的图书列表应用程序。应用程序问题是:如果我从主活动移动到“新书活动”,然后单击“保存”按钮,它会返回到主。但是如果我从这里按下“返回”硬件按钮,它会返回到“新书活动”。我怎样才能解决这个问题?

这是MA代码:

编辑:

这是 NewBookActivity 代码:

0 投票
2 回答
81 浏览

c++ - ofstream/fstream 根本不起作用,无论尝试什么解决方案

好的,伙计们,我已经尝试了我能想到的一切。我将一个文件名传递给这个函数。一点上下文:hash_table 是一个已经初始化并填充了键对的向量,键对的“值”部分是一个具有字段“bucket_size”的链表。当我使用 cout 检查这些字段是否实际被访问时,它们是;甚至调试器也将它们列为已归档到输出流中。我有 flush() 和 close() 在那里,但它没有向文件写入任何内容。返回 true,表示流中没有错误。有人有什么想法吗?

}

0 投票
1 回答
46 浏览

php - ci中的文件打开和更新函数

我收到错误说 fclose 正在使用二进制文件,谁能告诉我解决方案是什么,我无法理解 ci 更新功能。我需要在不更改其他内容的情况下更新表中的图像路径。