質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

4回答

3039閲覧

出力結果を保存するプログラムの関数

carnage0216

総合スコア194

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

2クリップ

投稿2018/01/17 06:42

題名に書いたままなのですが出力結果を保存する場合は、メモリなどに保存するシステムコードというか関数が書かれたプログラム(ヘッダファイル)が必要なのでしょうか?
また、保存したい場所などをプログラムで指定できるのでしょうか?
たぶんそのためにはCPUに依存したアセンブリ言語が必要になるとも思えますが。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2018/01/17 06:45

どういう状況ですか?例えばPCで動くプログラムだったら当たり前にできていることですよね?
carnage0216

2018/01/17 06:48

例えばC言語で出力結果をメモリに保存したい場合、どのようにメモリを指定すれば良いのでしょうか?
ozwk

2018/01/17 06:50

保存期間は?
Kunihiro_Narita

2018/01/17 07:08

まずはひとつ確認をさせて下さい。なにも断らずにメモリと言った場合、一般的にはメインメモリ(主記憶装置)を指します。その意味で使ってますか?と言うのもC言語を含む殆ど全ての言語において、変数へ値を格納させる行為がメモリへの書込にあたります。コレを意識的に行ったり、そのためだけにアセンブラを用いたり、何らかのライブラリが必要になると言うことはまずありません。
can110

2018/01/17 07:19

「出力結果」とは、「何(自身のプログラム、別プロセス、外部機器などなど)」が「どこ(標準出力、ファイル、ソケットなどなど)」に出力した結果でしょうか?
carnage0216

2018/01/17 07:23

自身のプログラムがデスクトップあるいはCドライブのフォルダに出力結果を出すにはc言語でどのように書けばいいでしょうか?
can110

2018/01/17 07:27

つまり自身のC/C++プログラムが処理した結果(何らかの変数に格納されているもの)を指定ディレクトリ内にファイル出力したいという質問でしょうか?
LouiS0616

2018/01/17 08:21

『それっぽいけどいまいち理解できていない単語』を積極的に使わない方がいいですよ。今回の質問も、『C言語でファイル出力するにはどうすればいいですか?』と書けば過不足なく通じる内容です。丸投げ評価付くだろうけど。
carnage0216

2018/01/17 08:40

たしかに、周りくどい書き方でした。
guest

回答4

0

コンソールに表示される文字列をファイルに保存したいだけであればファイル関数を使わない方法もありますよ。
例えば次のようなソースをコンパイルして、linuxのシェルやWindowsのコマンドプロンプトから
hello > outfile.txt
のようにすれば、outfile.txtに出力が保存されます。

c

1#include <stdio.h> 2int main( int argc, char **argv ) 3{ 4 printf("hello world\n"); 5 return(0); 6}

投稿2018/01/18 13:58

TaroToyotomi

総合スコア1430

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

言語にもよりますが、ほとんどの場合は特定のヘッダやライブラリを使用することになります。

もっとも、このためだけにアセンブリを使うような高級言語(高級言語といえるか?)は聞いたことがありませんが。

投稿2018/01/18 14:22

HogeAnimalLover

総合スコア4830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

題名に書いたままなのですが出力結果を保存する場合は、メモリなどに保存するシステムコードというか関数が書かれたプログラム(ヘッダファイル)が必要なのでしょうか?

YES.たとえばデータをファイルに保存したいなら、C++では #include <fstream> でヘッダを取り込み、ヘッダに定義されたclass: ofstream のメンバ関数で ファイルのオープン/書き込み/クローズ を行います。

組み込みなんかでファイルシステムを持たない場合は出来合いのライブラリを探してくる、そんなのなければ自分でごりごり実装することになりますが。

投稿2018/01/17 06:51

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

carnage0216

2018/01/17 07:20

回答どうもありがとうございます。c++ではなくcでも#include <fstream> は必要でしょうか?
episteme

2018/01/17 07:24

何をするにせよ、"きまりごと"は言語ごとに異なります。 Cでファイルの読み書きするなら #include <stdio.h> でしょうね。
carnage0216

2018/01/17 07:59

なるほど、stdio.hがあればメモリやレジスタにアクセスできて出力結果などをメモリに送れるのですね。 どうもありがとうございます。
episteme

2018/01/17 08:04 編集

ち が い ま す ! ファイルの読み書きだって言うてるやん。 "具体的に"なにがしたいんですか?
carnage0216

2018/01/17 08:39

自身で作ったC言語プログラムに出力結果はデスクトップに保存するプログラム書き加えたいのですが、やり方がわかりません。
episteme

2018/01/17 08:54 編集

↑それがなんで”メモリやレジスタにアクセスできて出力結果などをメモリに送れる”なんだ? "デスクトップに保存"てなんですか? 「"デスクトップ"という名のフォルダにファイルとして結果を保存」ならファイルの保存です。 ※ デスクトップはちょっと面倒かも。デスクトップってaliasですからね。 カレント・ディレクトリにファイル作るのがいちばん簡単。
guest

0

私に読解力がなくてすみません。

どういうことでしょうか?

保存するとはどういうことでしょうか?

例えば保存しておいて次回使うとかなのか、

( 例: 今回の最高記録を保持して、次回の点数と比較し、次回のほうが大きければ、次回のほうを確保... )

別の関数でも使えるようにする...っていう意味なのか,

指定の場所 ( レジストリとか、○○とか ) に保存するっていうことなのか...

それによってものすごく変わってきます。

投稿2018/01/17 06:48

BeatStar

総合スコア4958

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

carnage0216

2018/01/17 06:52

わかりにくい文章で申し訳ありません。回答者様がおっしゃる「指定の場所 ( レジストリとか、○○とか ) に保存する」です。出力結果を(c言語などの)プログラムでレジストリやメモリに送れるのでしょか?
BeatStar

2018/01/17 07:00

指定の場所ならその場所はどこですか? レジストリの場合とファイルの場合ではまったく違いますから。 メモリってどういう理由でそれをやろうとしているのでしょうか? 例えば「複数の関数でデータを使いたいが、どうやってデータを送ればいいか...ん? もしかしてメモリとやらに送ればいいのでは?」みたいな感じでなのかとか。 実際にやりたい処理を記述したほうがいいと思います。 データを送るにしても、どこに送りたいのか、なぜそれ( メモリにデータを送りたい ) をしたいのか を明示するとわかりやすいです。
BeatStar

2018/01/17 07:02

ということをなぜ言うか。 もしかしたら質問者さんが勘違いをしておられるかも知れないし、 私や他の回答者が勘違いしているかもしれない。 そういうことがあるため、情報はちゃんと載せたほうがいいです。
BeatStar

2018/01/17 07:30

"質問への追記・修正、ベストアンサー選択の依頼"を読みました。 要は、ファイルかなんかに処理結果を出力したいと。 それなら、「ファイルの書き込み・読み込み」の項目をチェックしてください。 http://www.itsenka.com/contents/development/c/fileio.html レジストリに書き込んでも意味ないですよ。この場合。 レジストリは初期設定としての情報を記述したりする場所です。 メモリもデータは基本的にすべてメモリ上に配置されます。 なので、私も含めて皆さん混乱しているのです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問