C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: VC++2008 EXPRESS EDITIONについて


(過去ログ 83 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■49131 / inTopicNo.1)  VC++2008 EXPRESS EDITIONについて
  
□投稿者/ がながな (51回)-(2010/04/23(Fri) 13:05:22)

分類:[.NET 全般] 

いつもお世話になります。
あれからVC++2008EXPRESS EDITIONを使用して勉強しているのですが、
http://ec3.images-amazon.com/images/I/515D1V27Y8L._SL500_SS120_.jpg

の本を購入しました。
この中に

#include <stdio.h>


int main(void)

{

FILE *fp;
char a[] = "cats and dogs.",s[30];

fp=fopen("abc.txt","w");
if(fp==null)
return;
fprintf(fp,"%s",a);
fclose(fp);


fp=fopen("c:\abc.txt","r");
if(fp==null)
return;
fgets(s,29,fp);
printf("%s\n",s);
fclose(fp);

}

と記載されており、VC++に記載し、コンパイルしてみたのですが、エラーが出てしまいます。

1>ccc.cpp
1>f:\aaaaa\a\a\ccc.cpp(11) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(237) : 'fopen' の宣言を確認してください。
1>f:\aaaaa\a\a\ccc.cpp(12) : error C2065: 'null' : 定義されていない識別子です。
1>f:\aaaaa\a\a\ccc.cpp(13) : error C2561: 'main' : 関数が値を戻すように宣言されていますが、関数定義に 'return' ステートメントがありません。
1> f:\aaaaa\a\a\ccc.cpp(4) : 'main' の宣言を確認してください。
1>ビルドログは "file://f:\aaaaa\a\a\Debug\BuildLog.htm" に保存されました。
1>a - エラー 2、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

本との相性が悪いのか、どのようにしたら良いのか検討もつかず途方に暮れております。
アルゴリズムとVC++の勉強ができるお勧めの本ってございませんでしょうか?
ようろしくお願いいたします。


引用返信 編集キー/
■49133 / inTopicNo.2)  Re[1]: VC++2008 EXPRESS EDITIONについて
□投稿者/ よねKEN (485回)-(2010/04/23(Fri) 13:47:37)
No49131 (がながな さん) に返信
> と記載されており、VC++に記載し、コンパイルしてみたのですが、エラーが出てしまいます。

エラーの説明を読んで、どこがわかりませんでしたか?
わかったこと、わかっていないことを区別するようにすると問題解決が早くなりますよ。

> 1>ccc.cpp
> 1>f:\aaaaa\a\a\ccc.cpp(11) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
> 1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(237) : 'fopen' の宣言を確認してください。

ここの部分で言っていることは、fopenは安全でないからfopen_sを使いなさいよということらしいですね。
ただし、これはwaring(警告)ですので、現時点では無視してもよいと思います。
(今の学習段階ではここから先について調べてみても、まだ理解できないのではないでしょうか。
どうしても気になる場合は、このエラー文のキーワードで検索して調べましょう。
キーワード:C4996、fopen、fopen_s、_CRT_SECURE_NO_WARNINGS)

> 1>f:\aaaaa\a\a\ccc.cpp(12) : error C2065: 'null' : 定義されていない識別子です。

nullではなくNULLじゃないですか?書籍をよく見直してみてください。

> 1>f:\aaaaa\a\a\ccc.cpp(13) : error C2561: 'main' : 関数が値を戻すように宣言されていますが、関数定義に 'return' ステートメントがありません。

「int main(void)」と関数を宣言しているのでint型の値を戻り値として返す必要があります。
mainの最後にreturn文がありません。「if(fp==null)」に続くreturn文が戻り値を返していません。

書籍のソースコード通りに打ち込んでいますか?見直してみてください。

ところで「アルゴリズムの絵本」はアルゴリズムを教えてくれる本でC言語を教えてくれる本ではないのでは?
と思うのですが、C言語の文法は一通り学習済みなのでしょうか?

引用返信 編集キー/
■49145 / inTopicNo.3)  Re[1]: VC++2008 EXPRESS EDITIONについて
□投稿者/ .SHO (1311回)-(2010/04/24(Sat) 08:53:39)
No49131 (がながな さん) に返信

> 1>ccc.cpp

C言語で書くなら、拡張子は .c の方がいいですよ。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -