• ベストアンサー

コンパイルできるのに実行できない。

nonbiri_pgの回答

  • ベストアンサー
回答No.5

まず質問者さんは勘違いしていますが、プログラムは実行できないのではなく、実行できています。 想定通りの挙動ではないかもしれませんが、書かれた通りにきちんと動作しています。 さて本題ですが、No.2の方のお礼コメントにソースコードと実行結果が書かれているので、 それを元に想定通りに動かない原因を考えます。 実行結果が「ファイルをオープンできませんでした。」なので、それが表示される原因を探ります。 ソースコードを確認すると以下の行で実行結果の文字を表示しています。  printf("ファイルをオープンできませんでした。\n"); この文字表示が行われる条件は変数fpがNULLの時です。 ソースコードでそれを意味しているのは以下の行です。  if(fp == NULL){ 更にfpは何かを確認すると、以下の行でfopen関数を使って、 「test3.txt」というファイルを読み込もうとしていることが分かります。  fp = fopen("test3.txt", "r"); fopen関数の結果がNULLになるのはファイルを開くのに失敗した時です。 以上の流れから「test3.txt」ファイルが想定した場所に正しく存在しないため、 このような実行結果になったことが考えられるわけです。 コードの意味が解っていれば結果から原因を追うことができますが、 質問者さんはコードを丸々書き写しただけで1文1文の意味を理解していないため、 「間違いを探すのは、不可能なのではないか」 と思ってしまうような状況になっているわけです。 以前から質問者さんの質問を見ていたのですが、 質問者さんは仕事としてプログラミングをしたいのですよね。 質問者さんが何か月もかけてやろうとしていることは 一般的なプログラマーであれば数日もかからないことです。 ただ時間がかかるだけならまだ許されるかもしれませんが、 質問者さんの行き当たりばったりな行動をみていると、 セキュリティに穴を作りこんで個人情報を流出させてしまったり、 重要なデータを消してしまったりといったことを、 訳のわからないままやってしまう可能性が高いです。 そうなると最悪、損害賠償を請求されるようなことも考えられ、 お金を稼ぐどころかマイナスになることさえありえます。 趣味ではなく仕事としてプログラミングをしたいと考えているのであれば、 全く割に合わないので考え直すことをお勧めします。

jump7799
質問者

お礼

本当にすみません。 これからはプログラムの意味を把握することを 一義としてやっていこうと思います。

関連するQ&A

  • コンパイル・実行のやり方。

    いつも教えていただき大変お世話になっております。 下記の質問、どうか教えてください。 プログラムの冒頭で、次の3行で始まっていたら コンパイル・実行はどう書けばいいですか? OSはUbuntu18.04を使っています。 package sample sample12; import java.util .Arrays; public class Sample12_4 { ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • EclipseでC言語をコンパイル、実行の仕方。

    いつも大変お世話になり誠にありがとうございます。 標記の件。 1問目はまぐれで成功しました。 2問目はなかなか成功しません。 ご多忙中恐れ入ります。 ご回答の程、宜しくお願い申し上げます。

  • Ubuntu Eclipseを使います。

    いつも教わってばかりですいません。 JAVAの件。 EclipseはUbuntuソフトウェアのを使うことにしました。 日本語化は諦めて英語版を使うことにしました。 Eclipse英語版でコンパイル 、インタープリターとして 使うならばどうすればいいのでしょうか? ご多忙中申し訳ありません。 ご回答のほど宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • メモ帳 Java コンパイル Windows10

    いつも教えて頂き、大変お世話になっております。 標記の件。 OSはWindows10を使っております。 Javaのコードをメモ帳に書いたとき コンパイルするとき、どうしますか? 参考書やURLにも詳しく載っていません。 例えば下記のコードをコンパイルするときどうなりますか? public class Program1{ public static void main(String[] args){ system.out.println("Hello world"); } } ご多忙中恐れ入ります。 どうぞ、詳しく教えてください。宜しくお願い申し上げます。

  • JAVAはコンパイルしなければなりません???

    いつもお世話になりありがとうございます。 標記の件。 素朴な疑問です。 JAVAはコンパイルしなければなりません! phpはコンパイル不要です。 JAVAで何か作ろうとしたとき、 例えば、ブログサイトを作る時、 1回1回コンパイルしていたら、 できないと思うのですが どうやってプログラムを作るのですか? 教えてください。 度々申し訳ございません。 宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • Windows10・Ubuntuの共有。

    いつも大変お世話になり誠にありがとうございます。 標記の件。 ボクはWindows10・Ubuntu18.04でデュアルブートにしてます。 どちらでも利用できる領域はできないでしょうか? ご多忙中恐れ入ります。 ご回答の程、宜しくお願い申し上げます。

  • Ubuntu20.04 VLC

    いつも大変お世話になり、誠にありがとうございます。 標記の件。 Ubuntu20.04 VLCでDVDプレーヤーになりません。 何かいい方法、アプリをご存じないでしょうか・・・??? ご多忙中誠に恐れ入ります。 ご回答お待ち申し上げております。 宜しくお願い申し上げます。

  • CANON TS5130印刷ならず。

    いつもお世話になり誠に有難うございます。 標記の件。CANON TS5130を最近、購入しました。 OSはUbuntu17.04です。 UbuntuではTS5130シリーズと登録しております。 Writerを印刷しているのですが、うんともすんとも言いません。 ご多忙中恐れ入ります。アドバイスが欲しいのです。 チェック・ポイントなどをです。 ご回答のほど、宜しくお願い申し上げます。

  • Windows10とUbuntu20.04の連携?

    いつも大変お世話になり、誠にありがとうございます。 標記の件。 Ubuntu20.04GUIをメインに使っております。 Windows10はメールメインに使っております。 相談ですが、Windows10にメールが来たらUbuntu20.04GUIにメッセー ジが来るようにしたいのです。 何かいい方法ないでしょうか・・・??? ご多忙中誠に恐れ入ります。 ご回答お待ち申し上げております。 宜しくお願い申し上げます。

  • コンパイルが通らない

    うちのPCでは確実にコンパイルが通って、実行までできたプログラムが他の人のPCではコンパイルが通らなかったり実行ができません。 実行する際には javac nishi.java java nishi とやると以下のようなエラーがでて実行ができません(コンパイルは通ります。決してjava nishi.classとかjava nishi.javaといったお約束の間違いは行っていません) Exception in thread "main"java.lang.NoClassDefFoundError:nishi また違うファイルではこっちでコンパイルが通るのにあっちではコンパイルが通らなかったりします。バージョンが違うためでしょうか?僕のバージョンが1.5.08?で相手が1.4.2くらいです。だからコンパイルが通らないの?