问题标签 [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 投票
1 回答
123 浏览

php - PHP 标头混淆

我整天都在用头撞这个。是时候寻求帮助了。

所以,我有一个 PHP 脚本,它是一个下载页面。用户拥有可以根据他们订购的内容下载的文件。

它是这样的(显然不是真正的代码,有些位是 - 希望你能得到要点)

希望这是有道理的。如果这样更有用的话,我可以把所有的代码都放上去,但这是一个很长的旧脚本,我认为这可能更方便。

因此,如果用户只是查看页面,脚本会获取用户可能拥有的任何订单的订单信息。在订单被标记为已完成且不再可用之前,用户只能尝试下载 X 次。

它为每个可用订单显示一个 div,每个 div 内部都有一个小表单。如果他们单击表单,它会将订单号发布回同一脚本,此时我希望它会简单地提供文件,然后继续显示页面的其余部分。唉,不,显然强制下载抓取控制上的标题,并且在 fclose 之后没有任何反应。

所以我想把它搞砸,并沿着 $sendfile = 1 的行在“if(post ...)”中添加一个变量,并在页面底部......

if($sendfile == 1){ 做标题的东西}

...希望在发送文件之前页面能够正确加载并且每个人都开心。再说一次,唉。它首先提供文件,并且不重新加载页面。

再次,希望我的措辞有意义。

我读过一个 php 脚本会首先“做”标题,所以你把它们放在哪里都没关系。我不知道这是不是真的,但根据我所看到的,它是。

我还尝试在 fclose 之后使用标头重定向到同一页面,并使用简单的 GET 使脚本显示成功消息。但是,如果我这样做,重新加载工作,但不显示下载提示。即使我在重定向到自我之前放了一个 sleep(10) 。它只是等待然后重新加载,但没有文件下载。

页面重新加载非常重要,因为当页面的其余部分重新获取订单数据并显示时,下载尝试次数应该增加 1。

有什么办法可以实现我想要做的事情吗?我正在剪切的代码变得越来越hacky,因此非常感谢任何帮助或建议。

0 投票
3 回答
3027 浏览

c - 文件指针不会在单独的函数中初始化(fclose 上的段错误)

kk。我需要了解生活。当我将文件指针 fp 传递给一个新函数并在那里打开它时, fclose(fp) 会导致段错误!我发现文件指针 fp 从未打开过。

我的解决方案是传递 fp 的地址,这是一个指向 File 的指针。我不明白为什么它会改变事情

-奥斯汀

0 投票
4 回答
16398 浏览

c - 文件关闭后 FILE 指针会发生什么变化?

我想知道文件关闭后 FILE 指针会发生什么。它会是NULL吗?

基本上,我想在关闭文件之前检查文件是否已经关闭。

例如如下:

我可以这样做还是有其他方法可以解决?

0 投票
2 回答
635 浏览

c - 使用文本文件二

关于下面的代码的几个问题,我在上一篇文章中从中获得了帮助。

1)。任何想法为什么在输出结束时,我会打印一个随机的垃圾字符?我正在释放文件等并检查 EOF。

2)。这个想法是它可以处理多个文件争论,所以我想创建增加的新文件名,即 out[i].txt,这在 C 中可能吗?

代码本身获取一个包含所有以空格分隔的单词的文件,例如一本书,然后循环遍历,并用 \n 替换每个空格,以便它形成一个列表,请找到以下代码:

0 投票
1 回答
1618 浏览

c - C - 使用 fopen、fclose、fputc 等

我终于让这段代码在我的命令行上使用了一个参数,即一个可以使用的文件,尽管我设计代码的概念是它可以使用无限数量的文件。它的作用是获取一些包含由空格分隔的单词的文本文件,并用空格替换空格,\n从而创建一个单词列表。虽然,它成功完成了第一个参数,但它只是忽略了第二个。

另一个小问题似乎是它最后还打印了一些垃圾字母,一个上面有两个点的 Y;我假设一些 EOF 符号,但我似乎无法阻止这种情况发生!

0 投票
2 回答
1635 浏览

linux - 在 Linux 上克隆线程后 fclose 挂起

在全局文件描述符上调用 fclose 时,程序挂起。

它发生在克隆创建的几个线程退出之后。

下面是顺序:

非线程处理fid。

从 strace 开始,程序挂在 futex 中等待“main_arena”。我认为这应该是 glibc 中的一些互斥锁。

回溯:

这发生在使用 glibc 2.5 的 Linux 上,但不会在使用 glibc 2.12 的 Linux 上发生。

我想知道是否是因为我们不能像这样使用 clone() 创建线程。在 NPTL 中,还做了很多事情,比如 set_robust_futex() 和设置线程本地存储。

谢谢!

0 投票
3 回答
19386 浏览

c - C - 将输出写入文件

我想这是一个相对简单的问题:)

基本上,该程序使用置换算法,并将输出打印到控制台中的标准输出。我还想通过我假设的 fprintf 将内容写入文件。虽然我似乎无法让它工作。它只是将垃圾字符打印到文本文件的第一行,仅此而已!

我将粘贴下面的代码,非常感谢您的帮助!写入文件代码可在 print 函数中找到。

谢谢,

T。

0 投票
1 回答
2976 浏览

c++ - *** 检测到 glibc *** ...: free(): 下一个大小无效(正常): ...*** 在 fclose() 之后;

我是新来询问有关编程的问题,所以如果我没有以正确的方式/以适当的方式做某事......请原谅我。

我习惯于“简单”的 ANSI C 编程,但决定尝试将一些客观的编程技能添加到我的“口袋”中——现在看起来不太好。起初我无法以任何方式成功使用“new”——在运行时分配一个二维数组,但最后我放弃了,只是像以前一样使用了 calloc。

但是现在我在使用 fclose 时遇到了这个错误 - 我看不出它是如何引起的......请帮忙?

我确实首先阅读了类似的主题 - 但这次它对我没有帮助。

这是一个非常简单的小程序,所以我将复制整个代码,希望有人知道问题所在。

输出是......

...

阿尼的想法?请?

0 投票
1 回答
7315 浏览

php - PHP fopen($url,w)

上面的 PHP 源代码在我的共享主机帐户上就像一个魅力。但是,它无法在我专用的 Linux Centos 机器上写入文件。在这台 Centos 机器中,源 $url 可以读取,但是这一行:

无法在 Linux 框中写入文件。我尝试在 linux root 用户下运行上面的代码(例如 php file-name.php)并且能够创建文件但无法读取源文件:

我收到 403 错误。我对这台 Linux Centos 机器的情况感到非常困惑。就像我之前在这个 Centos 框中发布的一样,我遇到了会话变量在同一页面提交之间返回空的问题。任何帮助表示赞赏。

0 投票
2 回答
392 浏览

c - fclose() 段错误

为什么这个简单的功能会导致段错误?