- ベストアンサー
標準のマクロのエラーについて
今日は、下のような標準のマクロを書いたのですが、 「エラー 1 error C2065: '_DATE_' : 定義されていない識別子です。」という表示なります。 「_DATE_」の両端はアンダーバーではないのでしょうか、半角にしても全角にしても同じエラーになります。 どのような符号を使ってやればよいのでしょうか、それとも他の原因のエラーなのでしょうか、宜しくお願いします。 ============================================================= #include <stdio.h> int main() { printf("今日は%dです。\n" , _DATE_); return 0 ; }
- htgotk_001
- お礼率43% (86/197)
- C・C++・C#
- 回答数4
- ありがとう数3
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
半角のアンダースコアを2個並べてください。 パソコンの画面では判別しにくいかもしれません。
その他の回答 (3)
- tatsu99
- ベストアンサー率52% (391/751)
> 「_DATE_」の両端のアンダーバーを半角にしても全角にしても同じエラーになります。 > 「エラー 1 error C2065: '_DATE_' : 定義されていない識別子です。」という表示なります。 DATEの両端に半角のアンダーバーが2つずつつきます。(合計4つのアンダーバー) __DATE__となります。 それでもだめでしょうか。 だめな場合、コンパイラがサポートしていないのかも知れません。 お使いのOS及びコンパイラを教えて下さい。
- tatsu99
- ベストアンサー率52% (391/751)
printf("今日は%dです。\n" , _DATE_);を printf("今日は%sです。\n" , __DATE__);にしてください。
お礼
tatsu99さん回答有り難うございます。 「_DATE_」の両端のアンダーバーを半角にしても全角にしても同じエラーになります。 「エラー 1 error C2065: '_DATE_' : 定義されていない識別子です。」という表示なります。 一体どこが悪いのでしょうか。 エラーの行番号は「_DATE_」のある行です。
- toda hiro(@hiro_knigh)
- ベストアンサー率39% (59/151)
お疲れ様です。 DATE前後のアンダーバーは、それぞれ2個記述が必要です。
関連するQ&A
- C++のコンパイルエラーが
おこります。 --------------------------------- #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } -------------------------------------- をコンパイルするのですができません。 以下のエラーが出ます。 --------------------------------------- エラー E2209 sample.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample.c 5: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main ) *** 1 errors in Compile *** -------------------------------------
- 締切済み
- C・C++・C#
- 現在、私はC言語を学んでいます。
現在、私はC言語を学んでいます。 プログラミングの初期の初期の問題なんですが、 「Hello World」という有名なプログラムがありますよね? それについての質問です。 #include<stdio.h> main() { printf("Hello World"); return 0; } も #include<stdio.h> main(void) { printf("Hello World"); return 0; } も #include<stdio.h> int main() { printf("Hello World"); } もちゃんと表示できます。 ここで質問です。 int main(void) int main() main() main(void) はどう違うんですか? あと、 return 0; はあっても無くてもいいようなんですが どういう意味があるんでしょうか?
- ベストアンサー
- その他(インターネット・Webサービス)
- VisualC++ ビルド失敗
#include<stdio.h> int main(){ printf("Hello World\n"); return 0; cin.ignore(); } >>cin.ignore(); これで画面がすぐに消えないようにしたいのですが、定義されてない識別子と出ます。 教えてください・・・よろしくお願いします。
- ベストアンサー
- C・C++・C#
- エラーの原因が分かりません。
Cをはじめたのですが、次で、 実行時にエラーとなってしまいます。 (「問題が発生したため・・」とでます)。 コンパイルは出来るのですが、 どこが悪いのでしょうか。 #include <stdio.h> char sendstr(); int main(){ char myc=sendstr(); printf("%s",myc); printf("HELLO"); return 0; } char sendstr(){ char mychar='s'; return mychar; }
- ベストアンサー
- C・C++・C#
- 配列について
初歩的な質問ですいませんが、質問よろしくお願いします。 ◎1----------------------------- #include<stdio.h> int main(void) { char ss[10]="AB"; printf("ss=%s\n",ss); return 0; } ------------------------------------ ◎2-------------------------------- #include<stdio.h> int main(void) { char ss[10]; ss[0]='A'; ss[1]='B'; ss[2]=0; printf("ss=%s\n",ss); return 0; } ----------------------------------- ◎3------------------------------- #include<stdio.h> #include<string.h> int main(void) { char ss[10]; strcpy(ss,"AB"); printf("ss=%s\n",ss); return 0; } ----------------------------------- ◎4------------------------------- #include<stdio.h> int main(void) { char ss[10]; ss="AB"; printf("ss=%s\n",ss); return 0; } ---------------------------------- 以上4つのプログラムで、◎2と◎3は正常に動くと理解できたのですが、何故、◎1は正常に動き、◎4は「'const char [3]' から 'char [10]' に変換できません。」といったようなエラーが出てしまうか分かりません。 教えていただければ嬉しいです。
- ベストアンサー
- C・C++・C#
- 標準ライブラリ関数と標準入力を使ったプログラミング
C言語で「入力された数字をASCIIコードとして文字で出力する」というプログラムを作っています。 isdigitを使って入力が数字だったら値を出力して、それ以外のときはエラーメッセージが出力されるようにしたいのですが上手く動作しません。 以下が作ったプログラムなのですが。 #include<stdio.h> #include<ctype.h> int main(void) { int=a; scanf("%d",&a); if(isdigit(a))printf("%c",a); else printf("エラーです"); return 0; } isdigitの使い方がいまいちよく分かってないのともしかしたら根本的に何か大きく違ってるのかもしれないのですが何か助言等あれば頂きたいので宜しくお願いいたします。
- ベストアンサー
- C・C++・C#
- C言語エラー
C言語をいじっているのですが、16行目と19行目の「型」の前に「;」がありませんと表示されます。 どこをどう改善すればいいか教えてもらえないでしょうか /*遊び半分*/ #include <stdio.h> #include <process.h> int main() { char dear; printf("ああああ\n"); printf("ああああ \n"); scanf_s("%c", &dear); switch (dear){ case 'A04': ; int main(void); { printf("ああああ\n"); int main(void); printf("あああ\n"); printf("あああ\n"); break; system("pause"); return 0; } case 'C34' : printf("\n"); break; case 'E24' : printf("\n"); break; case 'F38' : printf("\n"); break; default: printf("メッセージはありません\n"); break;} return 0;
- 締切済み
- C・C++・C#
- int とcharの使い方と違い
教えてgooに投稿するのは初めてですがよろしくお願いします。 最近C言語を勉強し始めた初心者です。 ネットのサイトを見て独学でしています。 過去スレッドをさらっと見て聞きたいことが書いてなかったので投稿します。(同じスレッドがあったらすみませんOTL) #include<stdio.h> int main(void) { int str='a'; printf("str=%c\n",str); return0; } この上のプログラムでは str=a と出て、エラーが出ずにコンパイル出来ました。でも、 #include<stdio.h> int main(void) { int str[]="abc"; printf("str=%s\n",str); return0; } とするとエラーが出ます。 int とcharの使い方と違いについて詳しく教えてほしいです>< お願いします。
- 締切済み
- C・C++・C#
- コンパイルエラー
Borlnd C++ compilerでコンパイルしたのですが、どうしてもエラーがでてしまいます。エラーは、不正な文字’’(0×8140)(関数 main) エラーE2206 文字' ' (0×8140)(関数 main) エラーE2206と二つ同じエラーがあると表示されます。本当に分からないので力を貸したください。お願いします。 /*読み込んだ二つの整数値の大きい方の値を求めて表示(条件演算子)*/ #include <stdio.h> int main(void) { int n1, n2, max; puts("二つの整数を入力してください。"); printf("整数1 : "); scanf("%d", &n1); printf("整数2 : "); scanf("%d", &n2); max = (n1 > n2) ? n1 : n2; printf("大きい方の値は%dです。\n", max); return 0;
- ベストアンサー
- フリーウェア・フリーソフト
お礼
皆さん回答有り難う御座います。 半角のアンダスコア2個づつでうまく動きました、本当に有り難う御座いました、今後とも宜しくお願いします。 それにしても、半角2個とは分かりにくいです。。。。。。