問題タブ [fseek]

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 投票する
2 に答える
3975 参照

php - ファイルポインタをphpの前の行に移動するには?

問題のテキスト ファイルの名前は fp.txt で、各行に 01、02、03、04、05、...10 が含まれています。

コード:

したがって、 fseek($fp, -1024, SEEK_CUR); のためです。正常に動作していません。私が欲しいのは、ダイス== 1の場合、ファイルポインタを前の行、つまり現在の行より1行上に設定することです。しかし、負の値はファイルポインターをファイルの終わりに設定しているため、実際のファイルの終わりの前にwhileループを終了していると思います。

望ましい出力は次のとおりです。

サイコロが 2 の場合、テキストは前のものと同じであることに注意してください。Dice=1 が最初に出現した時点で停止しています。

基本的に私の質問は、ファイルポインタを前の行に移動/再配置する方法ですか?

dice=rand(1,2) は単なる例であることに注意してください。実際のコードでは、$text は文字列であり、文字列に特定のテキストが含まれていない場合に if condition が true になります。

編集: 解決済み。両方のサンプル (@hakre と私のもの) が希望どおりに機能しています。

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

c - read() を呼び出すと 0 が返されますが、バッファが変更されました。同じオフセットを読み取るために fread() を呼び出しても発生しませんでした。

次のように read() を呼び出してファイルを読み取った場合:

read() は 0 を返しますが、"buf" のメモリは変更されています (もう 0 ではありません)。そして、次のように fread() で同じオフセットと同じファイルを読み取ろうとした場合:

fread() も 0 を返しますが、buf は以前と同じです。

read() が失敗した場合、「buf」のメモリ空間を変更するのはなぜですか? それとも私はいくつかの間違いを犯しましたか?

手伝ってくれてありがとう : )

編集: 上記のコードを実行するたびに、「buf」は read() によって同じように変更されました-> 0 から同じ値に。したがって、変更された「buf」はランダムな値ではない可能性がありますか?

編集2:オフセットパラメータは有効です(twalbergに感謝します)。別の有効なオフセットを読み取ると、read()とfread()の両方が成功し、「b​​uf」の結果は同じになります。read() が失敗したときに何が問題なのかを見つける方法はありますか? read() が 0 を返した場合、errno は「エラーなし」です。

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

c - cの特定の行に上書きする

プログラムで生成する約2000行のテキストのファイルがあり、すべての行に従業員の情報があり、次のように出力されます

1 1 ISAAC FONSECA 58 C 1600 1310.40 6 1 0.22 2164.80 1
2 1 Manuel Gutierrez 22 D 1700 1523.37 4 1 0.13 897.26 1
3 1 Daniel Bernal 34 C 1600 1195.84 2 1 0.26 836.16
1 0.00 1

しかし、従業員情報を編集するたびにファイルを更新する必要があり、行を検索して書き直そうとしています。

同じ問題を抱えている人の次の質問を見たことがありますが、ファイルに書き込もうとすると、常にファイルの最後に書き込まれます

テキスト ファイルの特定の行を上書きしますか?

これが私のコードです:

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

c - fseekと巻き戻し?

ファイルの先頭に戻るには 2 つの方法があることに気付きました

これらの方法の間に違いがある場合はどうなりますか?

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

c - fseek を使用したファイルの読み取りと書き込み、読み取り時に間違ったデータ

私が本質的にやろうとしているのは、2D 配列を作成することですが、それはメイン メモリではなくファイルにあります。

このファイルをジャンプするために、fseek を使用してから fread を使用して、使用している構造に必要なものを返します。問題はloadTile()、構造内のファイルから読み取ると、gameTile8File gtfジャンク データのように見えるものがいっぱいになることです。

書き込みと読み取りの間で、ファイルが閉じられたりフラッシュされたりすることは決してないことに注意してください。それが違いを生むとは思わないでください。ファイルはバイナリで、常に options で開かれます"r+b"

の戻り値を確認していますがfseek()、全員が問題ないfread()fwrite()言っています。

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

perl - perlファイルの読み取り、切り捨て

設定ファイルを変更しようとしています。

@buffer正規表現の一致に応じて、最初にそれをに読み込みます。変更されたバッファはディスクに書き戻され、ファイルが小さくなった場合は切り捨てが行われます。

残念ながら、これは機能せず、すでにでクラッシュしfseekますが、私が言える限り、fseekの使用法はperldocに準拠しています。

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

c - ftello/fseeko 対 fgetpos/fsetpos

ftello/fseekofgetpos/はどう違いfsetposますか? どちらも、不透明なオフセットタイプを使用して64ビットオフセットを許可するファイルポインターの取得/設定関数のようです。

それらは異なるプラットフォームまたは異なる標準でサポートされていますか? 使用するオフセットのタイプがより柔軟ですか?

ところで、 fgetpos/fsetpos と ftell/fseek の違いについては知っていますが、これは重複ではありません。その質問は ftell/fseek に関するもので、答えはftello/fseeko には当てはまりません。

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

php - 新しい RSS アイテム行を一番上に書く方法

私はいくつかのコードをつなぎ合わせましたが、おそらくもっとうまく書けるかもしれませんが、それは機能し、機能的なコードにこだわらないことを学びました. いずれにせよ、ここにあるのは、sitemap.xml ファイルと「問題 -- ここに質問を投稿した理由」RSS フィード ファイルを自動的に更新するコードです。

sitemap.xml ファイルへの書き込みは完全に機能します。私は満足している。ファイルの最後に新しいデータを書き込んで</urlset>.

ただし、RSS フィード ファイルでは、トップに表示するには新しいアイテムが必要です。私はそれを行う方法を理解できないようです。したがって、ここに添付されているのは、私のコードの現在のコピーです。基本的に、RSS FEED WRITER というタイトルの 2 番目のセクションは、SITEMAP.XML WRITER というタイトルの最初のセクションの複製です。この行のすぐ下の上部に新しい項目を書き込むために、コードを 2 番目のセクションに変更する必要がある方法: <atom:link href="http://mydomainname.com/index.rss" rel="self" type="application/rss+xml" />index.rss ファイル。

私を助けてくれる人には本当に感謝しています。以下にコードを示します。

編集: index.rss ファイルの上部を追加:

次に、このコードを試しましたが、機能しません:

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

php - fopen を使用してファイルの特定のセクションにデータを書き込み、既存のデータを削除せずにファイルにプッシュする方法は?

タイトルが尋ねるように、既存のデータを消去せずに押し下げながら、fopen を使用してファイルの特定のセクションにデータを書き込むにはどうすればよいですか。SEEK_SET および SEEK_CUR と共に fseek を使用しましたが、これまでのところ、新しいデータをファイルの正しいセクションに書き込むことができますが、既存のデータの最初の数行が削除されます。

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

xslt - XML XSLT Result-Document fseek

XSLT 変換を使用して、別のファイルのさまざまなチャンクを表す XML ファイルを、表されたファイルへのリンクを含む HTML ファイルに変換したいと考えています。

入力 XML ファイル:

出力は、foo.jpg への有効なリンクを持つ html ファイルである必要があります。つまり、指定されたオフセットで、チャンク内の cdata セクションからのデータを含む "foo.jpg" という別の暗黙的な出力ファイルがあります。

関連する質問