コンパイルできない
c言語をはじめたばかりの初心者です。"typ.c"というソースファイルをメモ帳でつくって、コマンドプロンプト上でコンパイルしようとしたのですが、うまくいきませんでした。typ.cファイルの内容は
*typ.c*/
#include <stdio.h>
#include <stdlib.h> /*for exit()*/
int main(void)
{
FILE *fin, *fout;
char buf[256];
char filename1[80], filename2[80];
printf("入力ファイル名=");
gets(filename1);
printf("出力ファイル名=");
gets(filename2);
fin = fopen(filename1, "r");
if (fin == NULL){
printf("%sをオープンできません\n", filename1);
exit(1);
}
fout = fopen(filename2, "w");
if (fout == NULL){
printf("%sをオープンできません\n", filename2);
exit(1);
}
while (fgets(buf, 256, fin) != NULL){
fputs(buf, fout);
}
fclose(fin);
fclose(fout);
return 0;
}
となっています。 いざコマンドプロンプト上でコンパイルしようとすると
C:Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(189) : error C20
27: 認識できない型'PostAttribute'が使れています。
c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(71) : 'PreAttribute'の宣言を確認してください。
という注意書きが大量にでてきて最後に
C:Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(239) : fatal err
or C1003: プログラム内のエラーが100個を超えました。コンパイルは中断されます。
となってしまいます。
使っているOSはwindows vista で コンパイラはMicrosoft Visual C++ 2008 Express Edition です。
どうしたらよいのかわかりません。 どうか教えてください。 説明に不足があればまた足しますのでよろしくお願いします。
お礼
PC をクラッシュさせてしまい、お礼が大変遅くなってしまいました。 申し訳ありません。 これにて質問を締め切らせていただきます。 ご回答ありがとうございましたm(_ _)m
補足
さっそくの回答ありがとうございます。 namespace という予約語が使えるのですね。初めて知りました。 残念ながら回答いただいた内容では解決しなかったのですが、プログラムの先頭部分を 精査したところ、filename2.dll がらみで using namespace hoge2; としてあるところがあり、それをコメントアウトしたところコンパイルがとおりました! もともと、C/C++ の include などをきちんと理解していないのと、VC++ 特有の ライブラリ、さらには開発用のライブラリと頭の中でごっちゃになっている状態です。 一度きちんと include などについて理解しようと思っています。 ちなみに、 namespace hoge1 { #include "filename1.h" }; hoge1::type1 var1; としたところ、「あいまい」エラーとともに、「type1 は hoge1 のメンバでは ありません」というエラーも出てしまいました。 追加情報などをいただけるかもしれないので、もうしばらく質問を締め切らずに 置いておきます。 問題を解決できたことを感謝します。ありがとうございます!