ファイルの入出力について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
afusin
記事: 21
登録日時: 13年前
住所: 神奈川県

ファイルの入出力について

#1

投稿記事 by afusin » 13年前

コード:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
	FILE *fp; //入力ファイルのファイルポインタ
	char datafile[] = "itudoko.txt";
	char kubun[8], naiyou[256];
	char buff[512]; //読み込んだ文字列を格納する

	//入力ファイルをオープンする
	if((fp = fopen(datafile, "r")) == NULL) {
		printf("ファイルオープンエラー\n");
		exit(1);
	}
	while(fgets(buff, sizeof buff, fp) != NULL){ 
		sscanf(buff, "%s\t%s", kubun, naiyou); 
		printf("区分;%s 内容;%s\n", kubun, naiyou); 
	}
	fclose(fp);

	return 0;
}
こんにちわ
参考書でファイルの入出力でつまずいています
上記のプログラムは下記の内容をファイルの入出力を使い
ディスプレイに表示するものです
serifu あなたを、待っていた
serifu いつもありがとう・・
serifu こ、これが究極のおにぎりか!!
hito 全米中
hito すべての日本人
shita 涙した
shita 笑った
shurui 感動
shurui コメディ

そこでわからないことがでて
このファイルはメモ帳なのですが
このファイルをどこに保存すればよいかがまったくわかりません
どなたか手取り足取り教えていただけないでしょうか
よろしくお願いします

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: ファイルの入出力について

#2

投稿記事 by softya(ソフト屋) » 13年前

VC++なら標準だとパス指定なしのファイルの場合は、プロジェクトファイル(拡張子.vcproj)のあるフォルダに置いたファイルが読み込まれるはずです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: ファイルの入出力について

#3

投稿記事 by h2so5 » 13年前

http://www.geocities.jp/ky_webid/c/034.html

このページの下にある○パス指定も参考になると思います。

afusin
記事: 21
登録日時: 13年前
住所: 神奈川県

Re: ファイルの入出力について

#4

投稿記事 by afusin » 13年前

ありがとうございました
ぜひ参考にさせていただきます

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: ファイルの入出力について

#5

投稿記事 by みけCAT » 13年前

どこでも好きなところに保存すればいいと思います。
ただし、コンパイルしたときにできるデータが混ざらないように、独立したフォルダを作るのがいいと思います。
その際に、ファイル名の欄に「"(好きなファイル名).cpp"」と入力するのがいいと思います。
(ダブルクォーテーションマークも付けてください)
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

afusin
記事: 21
登録日時: 13年前
住所: 神奈川県

Re: ファイルの入出力について

#6

投稿記事 by afusin » 13年前

デスクトップでもいいんですか?

afusin
記事: 21
登録日時: 13年前
住所: 神奈川県

Re: ファイルの入出力について

#7

投稿記事 by afusin » 13年前

あとsoftyaさんの
VC++なら標準だとパス指定なしのファイルの場合は、プロジェクトファイル(拡張子.vcproj)のあるフォルダに置いたファイルが読み込まれるはずです。

ということばがよくわかりません
そのファイルはどこにあるのですか?
それとも自分でつくるのですか?

Suikaba
記事: 194
登録日時: 13年前

Re: ファイルの入出力について

#8

投稿記事 by Suikaba » 13年前

自動作成されるときかってにおかれるんだと思いますよ

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: ファイルの入出力について

#9

投稿記事 by みけCAT » 13年前

そもそも環境がわからないので、なんとも言えません。
保存する目的は何ですか?
(コンパイルしたい、傑作ができたので保存しておきたい、ディスクの容量があと4KBなのでせっかくだから埋めてしまいたい、など)
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
bitter_fox
記事: 607
登録日時: 13年前
住所: 大阪府

Re: ファイルの入出力について

#10

投稿記事 by bitter_fox » 13年前

どこに保存していいかわからないのはプログラムですか、データですか??

データならば、載せていただいたプログラムを見ると相対パスで指定されていますので、実行プログラムと同じフォルダに入れる必要があります。
指定を絶対パスで適切に行えば、どこに保存しても結構です。

softyaさんがおっしゃったのは、おそらくプロジェクトファイル(拡張子.vcproj)があるところに実行ファイルが作られるから、それと同じところに保存したらうまく表示されるということではないでしょうか。

[hr][追記]

コード:

while(fgets(buff, sizeof buff, fp) != NULL){ 
ここは、

コード:

while(fgets(buff, sizeof(buff), fp) != NULL){ 
このようにする必要があるように思います。
最後に編集したユーザー bitter_fox on 2011年1月02日(日) 14:12 [ 編集 1 回目 ]

afusin
記事: 21
登録日時: 13年前
住所: 神奈川県

Re: ファイルの入出力について

#11

投稿記事 by afusin » 13年前

どこに保存したらいいかわからないのはファイルです
どこに保存すれば上のプログラムでファイルを展開できるかがよくわかりません
環境はvisual c++です
わかりにくくてすいません

アバター
bitter_fox
記事: 607
登録日時: 13年前
住所: 大阪府

Re: ファイルの入出力について

#12

投稿記事 by bitter_fox » 13年前

ファイルとだけ言われても、Windowsではディレクトリ以外すべてファイルなのでわかりません。。。

聞き方を変えます。
保存したいのは、

コード:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main() {
    FILE *fp; //入力ファイルのファイルポインタ
    char datafile[] = "itudoko.txt";
    char kubun[8], naiyou[256];
    char buff[512]; //読み込んだ文字列を格納する
 
    //入力ファイルをオープンする
    if((fp = fopen(datafile, "r")) == NULL) {
        printf("ファイルオープンエラー\n");
        exit(1);
    }
    while(fgets(buff, sizeof buff, fp) != NULL){ 
        sscanf(buff, "%s\t%s", kubun, naiyou); 
        printf("区分;%s 内容;%s\n", kubun, naiyou); 
    }
    fclose(fp);
 
    return 0;
}
これですか??

それとも、

コード:

serifu あなたを、待っていた
serifu いつもありがとう・・
serifu こ、これが究極のおにぎりか!!
hito 全米中
hito すべての日本人
shita 涙した
shita 笑った
shurui 感動
shurui コメディ
これですか??

どちらでしょう??

Suikaba
記事: 194
登録日時: 13年前

Re: ファイルの入出力について

#13

投稿記事 by Suikaba » 13年前

txtファイルだとおもいますが、普通にプロジェクトファイルあるとこに保存すればよかった気がします。
まちがってたらすいません

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: ファイルの入出力について

#14

投稿記事 by みけCAT » 13年前

読み込むファイルの場合、exeファイルのあるフォルダ
(プロジェクトのフォルダ/Debug)
に保存すると読み込めるかもしれません。
確認はしていません。
これは、DXライブラリを使ったときに、mp3ファイルを置いた場所です。
Visual Studio 2010で再生できました。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: ファイルの入出力について

#15

投稿記事 by softya(ソフト屋) » 13年前

プロジェクトの新規作成時に、作成されるフォルダが指定さえる事になっているのでそのフォルダを確認してみてください。
デフォルトだとWindowsのドキュメントフォルダにVisualStudio2010などがあると思いますので、その下のプロジェクト名のフォルダの中の更に中です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
bitter_fox
記事: 607
登録日時: 13年前
住所: 大阪府

Re: ファイルの入出力について

#16

投稿記事 by bitter_fox » 13年前

話がデータとして流れてますので、データと思って、、、

プロジェクトが既に出来ているのであれば、
プロジェクトの名前を右クリック、追加、既定の項目の順番で進んでください。
vc1.png
エクスプローラが起動するので、ファイルのないところを右クリックして、新規作成、テキスト ドキュメントを選んでください。
ファイル名を「itudoko.txt」に変更して、ダブルクリックしてください。
vc2.png
vc2.png (52.06 KiB) 閲覧数: 6843 回
すると、VCのソリューションエクスプローラに登録されるので、ダブルクリックして開いてデータを入力してください。

afusin
記事: 21
登録日時: 13年前
住所: 神奈川県

Re: ファイルの入出力について

#17

投稿記事 by afusin » 13年前

ありがとうございます
解決いたしました

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: ファイルの入出力について

#18

投稿記事 by みけCAT » 13年前

解決したのでしたら、解決チェックをしていただけるとありがたいです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: ファイルの入出力について

#19

投稿記事 by softya(ソフト屋) » 13年前

フォーラムルールにあります通り、どう解決したのかも書いて頂けると助かります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

afusin
記事: 21
登録日時: 13年前
住所: 神奈川県

Re: ファイルの入出力について

#20

投稿記事 by afusin » 13年前

解決いたしました

itudoko.txtをc言語をつかって
開くことができました

ありがとうございました

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: ファイルの入出力について

#21

投稿記事 by みけCAT » 13年前

afusin さんが書きました:itudoko.txtをc言語をつかって
開くことができました
それでは解決法がわかりません。
itudoko.txtをどこにおいたら開けたのかを書いてください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る