• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コンパイル時に a.out と入力するとエラーが出てしまいます。)

コンパイル時にa.outと入力するとエラーが出る理由とは?

このQ&Aのポイント
  • C言語のプログラムでa.outと入力するとエラーが出る理由について説明します。また、プログラム内で変数を出力し、データとして出力する方法についても解説します。
  • C言語のプログラムでa.outと入力するとエラーが発生する理由について解説します。さらに、プログラム内で変数を指定してデータを出力する方法についても説明します。
  • コンパイル時にa.outと入力するとエラーが出る理由と、データを出力する方法について解説します。C言語のプログラムで変数を出力する方法にも触れます。

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

「ファイルの中身は多くの文字が並ぶので(最大 500列 × 70000行 程度)全てのファイルを書き込むには時間がかかりすぎてしまいます。」 といったところで, 内容を全部書かないわけにはいかないよね? だとしたら, 何をどう高速化したところでそのための時間は絶対に必要. 最低限「現状どのようにしているのか」が分からなければ答えようもありません. 「a.out を使って プログラム内にある scanf("a=", &a); scanf("b=", &b); これらの変数 a,b を出力し 実行結果で書き込まれるファイルを データとして出力する方法が知りたい」 が何を言っているのかよくわからんし, そもそもこの scanf は間違ってる.

その他の回答 (2)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

ちょっと誤解があるような。 コマンドライン引数 (a.out a b みたいな使い方)にも、バッチ処理(シェルを使ったものはシェルスクリプトと呼びます)にも、処理を高速にするような機能はありません。 あらかじめ実行したいコマンドを全て書いて、自動で実行させることで、実行終了を待って次のコマンドを入力して...とやる手間が無くなって、その時間別のことをしていてもよい、という意味で、時間を有効に使うことはできますが。

s3104s
質問者

お礼

コマンドライン引数とバッチ処理を誤解していました。 a.out という単語こだわっていましたが 高速で書き込みできる方法さえあれば、どのような方法でも良いので その処理法を調べてみたいと思います。 ご回答、ありがとうございます。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

> a.out と入力するとエラーが起きます。 まず、次の点をはっきりしてください このような質問をする時の基本です。 ・あなたがその作業をしたのは、どんな環境ですか? OSはなんですか?なにかのソフトを動かしてますか? ・その「エラーが起き」たときに、画面にどんなエラーメッセージが表示されますか? どんなエラーでも、まずはエラーメッセージを読むことが解決への第一歩です。 そのメッセージによっては、まったく逆の対処法が必要な場合もあるのです。 質問から推測すると.... cygwin/home というディレクトリから、Windows上でCygwin環境で作業しているのだと思われます。 ・CygwinのCコンパイラ(gcc, ccはgccの別名として登録されている)が出力する実行形式のファイルは、通常は、拡張子がexeになります。オプション無しで実行したなら、a.exeになります。 a.outではありません。 ・エラーメッセージは「command not found」ではないでしょうか? このメッセージは読んだ通りの「コマンドが見付からない」エラーです。 ファイルa.outが無いのですから、あたりまえです。 このメッセージを読んだら、まずは ls でファイルがあるかどうかを確認するのが、普通でしょう。 そうすれば、a.outなど無くて、a.exeがあることに気付いたはずです。 ・a.exeにしても、やはりエラーになることが予想されます。 Cygwin環境での動作はUnix環境に準じます。 Unix系OSでは、『明記しない限り、カレントディレクリにある実行ファイルを実行しません』 Windowsのコマンドプロンプトだと、実行ファイルと同じディレクトリにCDすれば、実行ファイル名だけで実行できます。 しかし、Unix系の環境では、 ./a.exe のように、「カレントディレクトリの実行ファイル」であることを明示する必要があります。 以上のことは、推測して書きました。 しかし、コンパイラや実行環境やエラーメッセージが違えば、まったく役に立たない情報です。 >a.out a b >と入力してデータを出力させるには >どのようにすればよいのでしょうか? コマンドライン引数 argv argc main関数 と言ったキーワードで検索してください。

s3104s
質問者

お礼

環境は全て ご推測どおりです。 質問が不十分だった点については反省し、今後気をつけたいと思います。 ./a.exe で実行はできるのですが ファイルの書き込みのスピードを上げるために どういう処理をすればよいのか困っていました。 調べたところ、 a.out バッチ という単語が出てきたので どのように扱えば良いのかを更に調べたのですが分からず終いで質問しました。 コマンドライン引数 argv argc main関数 という単語を調べてみます。

関連するQ&A

専門家に質問してみよう