問題タブ [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 回増やす必要があるためです。

私がやろうとしていることを達成する方法はありますか? 私がカットしているコードはますますハックになっているので、助けや提案があれば大歓迎です。

0 投票する
3 に答える
3027 参照

c - ファイル ポインタが別の関数で初期化されない (fclose でのセグメント フォールト)

kk。私は人生を理解する必要があります。ファイル ポインタである fp を新しい関数に渡してそこで開くと、fclose(fp) によってセグ フォールトが発生します。そして、ファイル ポインタ fp が開かれていないことを発見しました。

機能する私の解決策は、ファイルへのポインターへのポインターである fp のアドレスを渡すことです。なぜそれが物事を変えるのか理解できない

-オースチン

0 投票する
4 に答える
16398 参照

c - ファイルを閉じた後、FILE ポインタはどうなりますか?

ファイルを閉じた後に FILE ポインタがどうなるか知りたいです。NULLになりますか?

基本的に、ファイルを閉じる前に、ファイルが既に閉じられているかどうかを確認したい。

たとえば、次のようにします。

これを行うことはできますか、それとも他の方法がありますか?

0 投票する
2 に答える
635 参照

c - テキストファイル2の操作

以前の投稿で支援を得た以下のコードについて、いくつか質問があります。

1)。出力の最後にランダムなゴミ文字が印刷される理由はありますか?ファイルなどを解放し、EOFをチェックしています。

2)。アイデアは、複数のファイル引数で機能できるということです。したがって、増分する新しいファイル名、つまりout [i] .txtを作成したいのですが、Cではそれが可能ですか?

コード自体は、たとえば本のように、すべてスペースで区切られた単語を含むファイルを取得し、ループして、各スペースを\ nに置き換えてリストを形成します。以下のコードを見つけてください:

0 投票する
1 に答える
1618 参照

c - C - fopen、fclose、fputc などの操作

このコードは最終的に、コマンド ラインで 1 つの引数、つまり 1 つのファイルで動作するようになりましたが、無制限の数のファイルで動作するという概念でコードを設計しました。それが行うことは、スペースで区切られた単語を含むX個のテキストファイルを取り、スペースを置き換えて\n単語のリストを作成することです。ただし、最初の引数は正常に完了しますが、2 番目の引数は無視されます。

もう 1 つの小さな問題は、最後にゴミ文字 (上に 2 つのドットがある Y) も出力するようです。私はいくつかのEOFシンボルを想定していますが、それを止めることはできません!

0 投票する
2 に答える
1635 参照

linux - Linux でスレッドのクローンを作成した後に fclose がハングする

グローバル ファイル記述子で fclose を呼び出すと、プログラムがハングします。

クローンによって作成されたいくつかのスレッドが終了した後に発生しました。

以下はシーケンスです。

非スレッドは fid を扱います。

strace から、プログラムは "main_arena" を待っている futex でハングします。これは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(): 無効な次のサイズ (通常): ...*** after fclose();

プログラミングについて質問するのは初めてなので、正しいことをしていない場合や適切な方法で行っていない場合は、ご容赦ください。

私は ANSI C プログラミングを「単純化」することに慣れていますが、自分の「ポケット」に客観的なプログラミング スキルを追加しようと決心しました。最初は、実行時に2D配列を割り当てるために「new」を使用することにまったく成功しませんでしたが、最後にあきらめて、慣れ親しんだようにcallocを使用しました。

しかし、今は fclose を使用しているときにこのエラーが発生します。原因がわかりません...助けてください。

最初に同様のスレッドを読みましたが、今回は役に立ちませんでした。

これは小さくて非常に単純なプログラムなので、コード全体をコピーします。誰かが問題を理解してくれることを願っています。

出力は...

...

アニのアイデア?お願いします?

0 投票する
1 に答える
7315 参照

php - PHP fopen($ url、w)

上記のPHPソースは、私の共有ホスティングアカウントの魅力のように機能します。ただし、専用のLinuxCentosマシンでファイルを書き込めません。このCentosマシンでは、ソース$ urlは正常に読み取ることができますが、次の行は次のとおりです。

Linuxボックスにファイルを書き込めません。Linuxのrootユーザー(php file-name.phpなど)で上記のコードを実行してみましたが、ファイルを作成できましたが、ソースファイルを読み取ることができませんでした:

403エラーが発生します。私はこのLinuxCentosマシンで何が起こっているのか非常に混乱しています。以前にこのCentosボックスに投稿したように、同じページの送信の間にセッション変数が空になるという問題があります。どんな助けでも大歓迎です。

0 投票する
2 に答える
392 参照

c - fclose() セグフォルト

なぜこの単純な関数がセグ フォールトを引き起こすのでしょうか?