ページ 11

VisualC++

Posted: 2010年6月30日(水) 21:58
by かける
今日2010年版をインストールしたのですが、
ファイル読み込みをしたいのですが、読み込みたいファイルはどこに保存したらよいのですか?

また、C++の文法でCと違う所ってどんなところですか?

Re:VisualC++

Posted: 2010年6月30日(水) 22:02
by シエル
画像とかのファイルのことですか?
どこに保存しても、読み込み時のファイルパスさえ間違っていなかったら、どこで保存してもいいです。

>また、C++の文法でCと違う所ってどんなところですか?
→文法自体は大きく変わってないかと。色々な機能が追加された感じです。
→すいません。あまりC++は詳しくありません。

Re:VisualC++

Posted: 2010年6月30日(水) 22:08
by かける
ファイルポインタで読み込みたいのですが・・・
パスとは??

Re:VisualC++

Posted: 2010年6月30日(水) 22:15
by dic
パスとは
C:\\hoge.txt
のように、ファイルの位置を記述したものです
C:\\program files\microsfot\visualc2010\common\hoge.avi
C:\\windows\system\hoge.ico

画像の赤の部分のことです

Re:VisualC++

Posted: 2010年6月30日(水) 22:19
by シエル
デバッグから実行する場合は、プロジェクトファイルと同じ場所に保存すればいいです。
その場合、fopen("test.txt","r")のようになります。

プロジェクトファイルと同じ階層にあるフォルダ「ABC」という名前の中のtest.txtに
アクセスする場合は、fopen("./ABC/test.txt","r")でいいです。

Re:VisualC++

Posted: 2010年6月30日(水) 22:22
by かける
パスはわかりました!!


ちなみにこのファイルを
fopenで読み込みたいのですがどのようにしたらよいですか?

FILE * fp;
fp = fopen("station_japan1.txt", "r");

としたいのですが


どこに保存したら良いですか?
画像

Re:VisualC++

Posted: 2010年7月01日(木) 07:29
by dic
// load.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[/url])
{
    FILE    *fp;

    //    ファイルのオープン
    fp = fopen( "station_japan1.txt", "rt" );

    //    ファイルから1行読み込む
    char    buf[80];
    fgets( buf, 80, fp );

    //    読み込んだ内容を出力する
    printf( "%s", buf );

    //    ファイルをクローズする
    fclose(fp);

    return 0;
}
テキストを保存する場所は
たとえば画像のように load ソリューションだったら
load\\load\\station_japan1.txt
となります

Re:VisualC++

Posted: 2010年7月01日(木) 10:27
by かける
それはC++の文法ですか?

Cの文法では表現できますか?

Re:VisualC++

Posted: 2010年7月01日(木) 11:04
by toyo
エントリポイントの関数名はVisual C++独自の物ですが文法的にはCで書かれていますね

Re:VisualC++

Posted: 2010年7月01日(木) 11:07
by toyo
間違えました
char buf[80];
の宣言位置がCではありませんね
これを
FILE *fp;
の前か後に移動したらいいです

Re:VisualC++

Posted: 2010年7月02日(金) 17:17
by dic
>それはC++の文法ですか?
わかりません

>Cの文法では表現できますか?
わかりません

Re:VisualC++

Posted: 2010年7月02日(金) 17:25
by たかぎ
> それはC++の文法ですか?

load.cppとのことですし、//で始まるコメントやブロック途中での宣言など、C++の文法ですね。

> Cの文法では表現できますか?

できます。