でいくつかの行を戻って、 -4 //後ろ4行) - それはうまくいきませんでした。いくつかの私はfseek関数をテストした行</p> </blockquote> <p>(FP、-127で私は、カーソルの位置に戻っている</p> <blockquote> <p>に問題が発生したテキストファイルをCプログラミング
-1
A
答えて
3
まず、fseek
(より具体的には最後の引数)に正しい引数を渡しているようには見えません。第2に、テキストファイルの行は固定幅であることはめったにないため、特定の番号を使用して「4行」に戻ることはできません。
代わりに、正しい位置を見つけるために一度に1文字ずつ後方に検索する必要があります。これは、機能を求めて使用して非常に効果的ではなく、ファイルに応じて、あなたは
- のいずれかにそれは上記、メモリの代替として
- 「を追求」するのは簡単ですメモリバッファにそれをすべて読むことがありますファイル全体
- ストアあなたは簡単に周りにジャンプすることができます
0
のでfseek
は、1つのまたは2つの行で戻って行くことができないので、ラインのすべての始まりの位置をマッピングしますか?
fp= fopen("liste.txt", "r"); // this is where i have list of names and ages and and ...
new_fp=fopen("sec_list.txt","w");// this is where i will stock new infos
do {
fgets(ligne, 100, fp);
if (strcmp(tel, ligne)!=0) // if "Tel" isnt the same content as "Ligne"
{
fputs(ligne, new_adherent);
}
else {
printf("\n the adherent is founded \n");
fseek (fp, -124, -4);// back by 124 caractere and 4 lines or something like that
do{
ch = fgetc(fp);
if(ch == '\n'){
lines++;
}
}while (lines<7);
printf("\n\t DELETED \n");
}
}while(!feof(fp));
fclose(fp);
fclose(new_fp);
remove("liste.txt");
rename("new_liste.txt", "liste.txt");
+1
ようこそスタックオーバーフロー。コードレイアウトは面倒です - 修正してください。 'feof()'の使用には注意してください。ここでのコードは正しいことができるdo ... while(!feof(fp));ループで使用しますが、通常は使用する必要はありません。より重要なことに、 '-4'は何をするつもりですか?それは100%非公式です。 –
関連する問題
- 1. PGTとPGTIOUの保存CASが生成する
- 2. </p> <p>私はAlertDialogでいくつかの問題が発生した、AlertDialogアンドロイド
- 3. PHPUnitは</p> <p>をテストするために、私は、メモリのSQLiteデータベースに使用してい</p> <p>私はPHPUnitを経由laravel 5.4でいくつかのテストを実行している問題を持っている
- 4. は私が</p> <pre><code>git add . </code></pre> <p>を実行し、今私はgitの追加戻したい
- 5. BASHは:持っているいくつかのCSVファイル出力、私は<strong>複数のCSVファイル</strong>と出力<strong>単一のテキストファイル</strong>(summary.txtには)からの関心</strong>の<strong>エキス1行にしたい
- 6. なぜUtf8Charのベクトルの値が変化していますか?私はいくつかのセットで<code>localVec</code>の値を比較しています</p>ここ <pre><code>FILE *fp; fp = fopen("SampleFile.csv", "r"); while((getc(fp)) != EOF) { bvector<Utf8Char*> localVec = csvFile.ReadFile(fp); } </code></pre> <p>:
- 7. トップナビゲーションバーには、これは私が私のコードで<strong>3の問題を</strong>持っ</p> <p>:(私はナット運転している
- 8. オラクルオープン・カーソルは、私がここに文字列を使用して開いたカーソルに問題変数</p> <p>を持っている私にエラー
- 9. iPhone:私は<strong>のUITableViewController</strong>に<strong>タッチ</strong>ポイントの<strong>のx位置</strong>をキャプチャしたいのUITableViewController
- 10. (1u << x << y)はどういう意味ですか?私は問題を抱えている
- 11. は、私がはまって</p> <p>に私は</p> <p>をオンにしたい、私は「ピーナッツ」と「ココア」にはまってsmartquotes
- 12. 変数は、私がどこにに関するいくつかの記事を読んで、私は三つのファイル</p> <ul> <li>main.cの</li> <li>myStruct.h</li> <li>myStruct.c</li> </ul> <p>を持って、完成したことがないタイプ
- 13. forceTouchCapabilityは、私は、アプリケーションにいくつかの3Dタッチを組み込むしようとしていると私は<code>forceTouchCapability</code>チェックが<code>viewDidLoad</code>ではなく<code>viewWillAppear/viewDidAppear</code>で<code>nil</code>を返している奇妙な問題に遭遇しました
- 14. 私は多次元配列に格納したい私は</p> <p>アレックスNAME</p> <p>ロンドンCITYのテキストファイルを持っている
- 15. キャッチは、私はいつも<code>func()</code><code>resolve</code>をしましょう、と私はに指示したい場合<code>yield func()</code>、<br> 後の戻り結果を決定する前に一品、</p> <p>によって<code>onError()</code>に直接、私は<code>func()</code><code>reject</code>からのエラーを保持したい約束
- 16. 私はので、私は関連していない作るプログラムをプログラミング<strong>C</strong>と<strong>C++</strong>を勉強<strong>Ubuntuの16</strong></p> <p>を上
- 17. mathf.Repeatを使用し、私は彼が<strong>B</strong>彼はに戻っに到達したとき、私は位置<strong></strong></strong> B <strong>に毎回、から具体的な動きをしたい飛行機を持っている私のプロジェクトで
- 18. は、私は私の<strong>カスタムユーザーコントロール</strong>にバインドするとき、私は、<code>ItemsControl</code>で定義された<code>DataType</code>に基づいて<code>DataTemplate</code>のバインディングに問題があるのItemsControl
- 19. は、私は、このLinuxのコマンドは、私はそれが<strong>OD -c</strong>に<strong>LS</strong>を送信しています知っている</p> <pre><code>ls | od -c </code></pre> <p>を行うかを理解しようとしている
- 20. Mavenは成功したプロジェクトを実行しますが、私は<code>Maven</code>のプロジェクトを持っていると私は<code>eclipse</code>に<code>Maven build...</code>を実行したときに、私は成功したプロジェクトを実行するが、 できexcutable <code>JAR</code></p> <p>を作成するために、<code>Maven</code>でプロジェクトを構築したい
- 21. 間違ったテスト私の問題は、だから、間違ったテスト回数</strong></p> <p>ある</p> <p><strong>要約に終わり、すべてのカウンタの合計各カウンタが良いです
- 22. 私は、それはperlの</p> <p>私がいたを使用して行うことができますどのように</p> <pre><code>String sql = Query1; </code></pre> <p>のようにそれを交換したい行</p> <pre><code>String sql="select * from "+ "emp_data"; </code></pre> <p>のように私が持っている私のファイルでのPerl
- 23. 私は<em>Win32のC++</em>コンソールプログラムでは、<kbd>CTRL +</kbd><kbd>C</kbd>イベントの処理に関するいくつかの問題を持っているのWin32
- 24. は、私はindex.htmlを</p> <pre class="lang-html prettyprint-override"><code><script src "../src/man/js/Generator.js"> </script> </code></pre> <p>が、上のファイルの.jsを含めるしようとすると、私はいくつかの問題を抱えていた</p> <p>)JS最初にHTML
- 25. ViewScoped Beanでメモリリークが発生しましたか?私たちの<strong>JavaEE6</strong>プロジェクト(<strong>EJB3</strong>、</strong><strong>JSF2)で
- 26. 私は<code>grivviewDevexpress</code>で<code>CheckedListBoxItem</code>を置く#
- 27. は、これは私です</p> <pre><code>'[errors]' => [], </code></pre> <p>..私は、ユーザーテーブルを持っていると私は私が<code>$user</code>をデバッグする場合でも、それはnullを返し<code>save()</code>保存したいときにエラーがないCakePhp3
- 28. CSVでは、列名をループしてヘッダー行の位置を取得するにはどうすればよいですか?私は私のRubyスクリプトで<code>require</code> D <code>csv</code>をしました</p> <pre><code>ID,Name,Age 1,John,99 </code></pre> <p>:
- 29. のPython 3.5.1 urllibははurlopenです私は疑問に思って何の属性私はurllibはため</p> <pre><code>import urllib.request </code></pre> <p>または</p> <pre><code>import urllib </code></pre> <p>パスを試してみました
- 30. CSS:私はフレックスレイアウトの行にいくつかのコンテンツを置くしようとしていると私は</p> <ul> <li>行は、私が作ってみる彼のコンテンツの代わりに</li> </ul> <p>と幅にリサイズすることに気づいた
コードを表示し、何がうまくいかなかったか説明できますか? – Marievi
'fseek'は、読み書きする次のファイルの場所を考えるライブラリのビューにのみ影響します。すでに画面に表示されている出力には影響しません。既に書いた文字を削除するには ''\ b' 'を表示することができますが、行の先頭を読むときに前の行の文字を消去し続けるという保証はありません。あなたが欲しいものを確実に行うためには、標準ライブラリが提供する以上の能力が必要です(例えば、 'curses'を使用して調べることができます)。 –