• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語でセグメンテーションエラーの原因がわからず困っています。)

C言語でセグメンテーションエラーの原因がわからず困っています

このQ&Aのポイント
  • C言語でプログラムを実行するとセグメンテーション違反が表示されてしまい全く動きません。
  • 更新され続けるテキストファイルから別のテキストファイルに出力するプログラムで、file.txtを読み取る方法に問題があります。
  • セグメンテーション違反の原因は、重複した文章をout.txtに移すことによるものです。

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

とりあえず前半ざっと読んだ感じで…… ・配列とポインタの違いがわかっていないように見える(NULLを入れて初期化、のコメント) ・str2はNULLにならないので最初から「二周目以降」のブロックに入ってしまう。segmentation faultの原因はこれにより開いていないfp2をfclose()しようとしているためと思われる ・「たまたま同じ行がある」場合の考慮がなされていない。元ファイルが追記以外の処理をしないなら、同値判定よりも読み込んだ回数を記憶しておいた方が簡単

arlstumia
質問者

お礼

ご回答有難う御座いました。おかげで何がダメだったのか良く理解できました。 配列とポインタの違いについては勉強し直しました。ご指摘感謝します。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.4

OSがCentOSということなら、そんな面倒なことしないでもできるような。 tailというコマンドの -f オプション指定時の処理を見れば参考にできそうな気がします。

すると、全ての回答が全文表示されます。
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.3

> 開いていないfp2をfclose() fp2じゃなくてfpですね。訂正しときます。

すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

・デバッガを使ってプログラムの実行を追いかけろ. ・if (str2 != NULL) ってどういう意味? ・「週」じゃなくて「周」ですな.

すると、全ての回答が全文表示されます。
電源投入後に一旦電源OFFになる
このQ&Aのポイント
  • MFC-J6973CDWで電源を投入するとすぐに電源がOFFになるトラブルについて相談です。
  • お使いの環境はWindows10でUSBケーブル接続しています。詳細なトラブルの経緯や試したことについて教えてください。
  • 関連するソフト・アプリや電話回線の種類も教えてください。
回答を見る

専門家に質問してみよう