新規無料会員登録で1000名様に電子コミック1000円分が当たる!!

// cout01.cpp
#include <iostream>

int main()
{
std::cout << "Hello, World!" << std::end1;
return 0;
}

1>------ ビルド開始: プロジェクト: sample, 構成: Release Win32 ------
1>コンパイルしています...
1>sample.cpp
1>.\sample.cpp(6) : error C2039: 'end1' : 'std' のメンバではありません。
1>.\sample.cpp(6) : error C2065: 'end1' : 定義されていない識別子です。
1>ビルドログは "file://c:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\sample\Release\BuildLog.htm" に保存されました。
1>sample - エラー 2、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

デバックなしで開始をしたときのメッセージは
プログラム C:\Documents and Settings\Owner\My Documents\visual Studio 20008\Projects\sample\Rekease\sample.exe を開始できません。
指定されたファイルが見つかりません

ソースはこれだけなのですが、ビルドを何回やっても失敗します。
デバックなしで開始を押しても指定されたファイルが見つかりませんって出てしまい
まったくのプログラミング初心者で本を買って家でやってまして、最初はコマンドプロンプトが出て
Hello, World!で成功したのですが、その後なにをいじってしまったのかできなくなりました・・・

どなたか助けていただけないでしょうか?
お返事お待ちしております。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

追記です。



>プログラム C:\Documents and Settings\Owner\My Documents\visual Studio 20008\Projects\sample\Rekease\sample.exe を開始できません。

これ、メッセージを見ながら、ここにキーボードで写してませんか? Rekease っていうのがそのままでは、たぶんなにかがおかしいです。
先に書いたように、見間違い、打ち間違いはよくあります。今回のもの容易に予想がつくのでいいですが、別のケースでは正確で無いと回答できないでしょう。

質問の際は、できるかぎりコピーアンドペーストで、表示されるままを記入するようにしましょう。


> 指定されたファイルが見つかりません

このエラーは、「ビルドに失敗しているから、実行ファイルが存在しない」という極単純な理由です。


> ビルドを何回やっても失敗します。

エラーが出ているものを、なんの修正もなくビルドすれば、失敗して当然です。

ビルド時にエラーになるのは、見付けるのも直すのも、非常に簡単な間違いだと思ってください。これを直せるようになることが、まずは上達の一歩です。

この先続けていけば、「ビルドは成功するのに、実行すると動作がおかしい」という状況に出会うと思います。そんなのは直すのは非常に困難です。
    • good
    • 4

エラーメッセージをよく読んで、そこから学ぶのも、プログラミングの勉強に大切なことです。



> 1>.\sample.cpp(6) : error C2039: 'end1' : 'std' のメンバではありません。
> 1>.\sample.cpp(6) : error C2065: 'end1' : 定義されていない識別子です。

とあるので、 その通り、「end1」なんて定義されていないのではないだろうか、と疑ってみることです。
打ち間違い、見間違い、というのはよくあることです。自分は正しい、本は正しい、と思いこむと解決できません。

ネットで検索したり、C++のリファレンスマニュアルをよく読んだりすれば
std::endl (イー、エヌ、ディー、エル)
というものはあることがわかります。

特に、印刷物を見て打ち込む際によくあるのですが
壱と大文字のアイと小文字のエルは非常によく似ているため、間違いやすいです。これらの区別の付きやすいフォントを使うとかの工夫も必要ですし、文脈から予想することも時には必要です。
同様に、零と大文字のオーと小文字のオーとか、ブイとユーとかがまぎらわしい文字です。
    • good
    • 1

end1 (数字の1)


じゃなくて
endl (小文字のL)
ですよね。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QCの初歩の初歩について

現在、「Visual studio.Net2003」を使っています。
まだはじめて日が浅くBasicの方もやっていたのですがCの開発環境を作ろうとしたのですが作れません。
過去の履歴を読んで見たのですがまだ用語などよくわからず同じような質問があれば大変申し訳ないのですが、

VisualC++プロジェクト
    ↓
win332プロジェクト
    ↓
(アプリケーションの設定)
コンソールアプリケーション
    ↓
空のプロジェクト

ときて、「新しい項目の追加」で
VisualC++

C++ファイル(cpp)
が表示されません。
ファイル名の拡張子を.cにしてやってみましたが今度は
デバッグを開始できません。

「(プロジェクトが入っているフォルダ)***.exeを開けません。
指定されたファイルが見つかりません。」

となってしまいます。
PCを変えて初めてCをやろうと思ったらこうなってしまいました。Basicの方は問題ありません。
どうすればCの開発環境はできるのでしょうか?
OSはwindows2000Pro(SP4すべてアップデート済みです)。
長文と読みにくい文、失礼しました。
よろしくお願いします。

現在、「Visual studio.Net2003」を使っています。
まだはじめて日が浅くBasicの方もやっていたのですがCの開発環境を作ろうとしたのですが作れません。
過去の履歴を読んで見たのですがまだ用語などよくわからず同じような質問があれば大変申し訳ないのですが、

VisualC++プロジェクト
    ↓
win332プロジェクト
    ↓
(アプリケーションの設定)
コンソールアプリケーション
    ↓
空のプロジェクト

ときて、「新しい項目の追加」で
VisualC++

C++ファイル(cpp)
が表...続きを読む

Aベストアンサー

VisualC++.net自体が開発環境でもあるため
はじめてC/C++を触る人にとっては敷居が高いのかもしれません。
VC++自体、色々な機能が提供されているので
単純なコンソールのプログラムなら簡素なBCCの方が理解しやすいかもしれません。
※BCCはフリーで入手できます。過去ログを検索すればたくさんヒットするでしょう。

ところで
「(プロジェクトが入っているフォルダ)***.exeを開けません。指定されたファイルが見つかりません。」
がまだでているのだとすると、プロジェクトの設定の作業ディレクトリ(カレントディレクトリ)
にexeファイルができていることを確かめてください。
できていないのだとすると「構成の種類」がアプリケーションになっているか調べてください。
もしデバッグのexeが出来ているなら、直に実行して起動できるかも調べてください。
あとコントロールパネル→管理ツール→サービスでDebug Managerが動いているか調べてください。

とりあえず私にアドバイスできることはこれぐらいです。

なんというかもっと色々試してください・・・
試行錯誤することは大切です。

VisualC++.net自体が開発環境でもあるため
はじめてC/C++を触る人にとっては敷居が高いのかもしれません。
VC++自体、色々な機能が提供されているので
単純なコンソールのプログラムなら簡素なBCCの方が理解しやすいかもしれません。
※BCCはフリーで入手できます。過去ログを検索すればたくさんヒットするでしょう。

ところで
「(プロジェクトが入っているフォルダ)***.exeを開けません。指定されたファイルが見つかりません。」
がまだでているのだとすると、プロジェクトの設定の作業ディレクトリ(カ...続きを読む

QLNK2019: 未解決の外部シンボルのエラーが出る

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自キャラのデータ
Point2D g_jikipos = {40, 400};//自キャラの座標

//画像ハンドル
int g_jikiimage[11];

//色々なファイルの読み込み
int LoadFiles(){
//画像ファイル読み込み
if(LoadDivGraph("media\\player01.bmp",
11,11,1,64,64,g_jikiimage) == -1) return -1;

return 1;
}


 mymain.h
//他から呼び出させるMyMainの関数
void MyMain();
int LoadFiles();


 myhelper.h(サンプルなので打ちミスはない)
#include "DxLib.h"
#include <limits.h>
#include <math.h>

//構造体宣言
//座標またはベクトルを記録する構造体
struct Vector{
float x,y;
};
typedef Vector Point2D;
//線を記録する構造体
struct Line2D{
Point2D startpos, endpos;
float katamuki;//傾きをラジアン値で記録
Vector speed;//移動している場合は速度をセット
};
//球体を記録する構造体
struct Ball2D{
Point2D position;
float hankei;//半径
};
//四角形を記録する構造体
struct Rect2D{
Point2D lefttop;
Point2D rightbottom;
float width;
float height;
};


//ライブラリ関数
Point2D PosInView(Point2D in);
int XInView(float inx);
int YInView(float iny);
void ScrollToLeft(float jikiposx);
void ScrollToRight(float jikiposx);
void ScrollToUp(float jikiposy);
void ScrollToDown(float jikiposy);
void DrawLineInView(float x1, float y1, float x2, float y2, int Color, int Thickness);
void DrawCircleInView(float x, float y, float r, int Color, int FillFlag);
void DrawAnimation(float x, float y, double ExtRate, double Angle,int TurnFlag,
int *imgarray, int allframe, float fps);
//ベクトル関数
Vector CreateVector(Vector in, float veclen);
Vector AddVector(Vector v1, Vector v2);
Vector SubVector(Vector v1, Vector v2);
Vector AddVectorInFrameTime(Vector pos, Vector speed);
Vector AddVectorInFrameTime2(Vector pos, Vector speed, Vector accel);
Vector Normalize(Vector in);
Vector RotateVector(Vector in, float radian);
float VectorLengthSquare(Vector in);
float DotProduct(Vector v1, Vector v2);
float CrossProduct(Vector v1, Vector v2);
void SetLine2DKatamuki(Line2D *in);
void DrawLine2D(Line2D in, int Color, int Thickness);
void DrawBall2D(Ball2D in, int Color, int Fill);
//当たり判定関数
bool HitTestLineAndBall(Line2D linein, Ball2D ballin);
bool IsPointAtLineFace(Line2D linein, Point2D ptin);
bool HitTestLineAndLine(Line2D line1, Line2D line2);
bool HitTestBallAndBall(Ball2D a, Ball2D b);
bool HitTestPointAndBox(Rect2D rect, Point2D pt);
//タイマー関数
void SetSimpleTimer(int idx, int time);
int GetPassedTime(int idx);


//グローバル変数
extern float g_frametime;
extern Rect2D g_framerect;//画面領域(当たり判定)
extern Point2D g_current_field_pos;//現在の左上座標
extern Rect2D g_stagesize;//ステージサイズ

//定数宣言
const float ZEROVALUE = 1e-10f;
const float PIE = 3.1415926f;
const int SCROLL_LIMIT = 200;
----------------------------------------------------------------
 エラー内容
1>myhelper.obj : error LNK2019: 未解決の外部シンボル "void __cdecl MyMain(void)" (?MyMain@@YAXXZ) が関数 _WinMain@16 で参照されました
1>C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\my\Debug\my.exe : fatal error LNK1120: 外部参照 1 が未解決です
1>my - エラー 2、警告 0
ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ
----------------------------------------------------------------
画像を貼り付けときます
(見えにくい場合→http://www.dotup.org/uploda/www.dotup.org154142.jpg.html)
初心者なのでわかりやすくお願いします

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自...続きを読む

Aベストアンサー

ファイル構成から推測するに
mymain.cpp というファイルに
void MyMain(void) {
// ここに処理を書く
}
という関数が必要なようです。

Qfatal error LNK1120: 外部参照 1 が未解決です

またわからないことが・・・
教えて下さい。
以下をVC++2005でコンパイルすると、

MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。
C:\Documents and Settings\tomato\My Documents\Visual Studio 2005\Projects\a\Debug\a.exe : fatal error LNK1120: 外部参照 1 が未解決です。

と警告がでて通りません。
何のことでしょうか。

#include<stdio.h>
#include<process.h>

struct meibo{
  char name[20];
  char tel[20];
  char address[20];
};

void message( void );
void input( FILE *fp, int cnt , struct meibo *a, int *end );

void main( void )
{
  struct meibo a[20];
  FILE *fp;
  int cnt, end;

  if( (fp=fopen( "meibo.dat", "w" ) ) == NULL ){
    printf( "Can not open the meibo.dat.\n" );
    exit( 1 );
  }

  message();

  fprintf( fp, "番号, 名前, TEL, 住所\n" );
  fflush( fp );

  cnt = 0;
  end = 0;
  while( end == 0 ){
    input( fp, cnt, &a[cnt], &end );
    cnt++;
    fflush( fp );
    if( cnt == 20 ){
      printf( "人数が一杯です.終了します.\n" );
      end = 1;
    }
  }
  fclose( fp );
}

void message( void )
{
  printf( "名前, TEL, 住所, endを入力してください.\n" );
  printf( "継続の時はend=0," );
  printf( "中止の時は,end=1と入力してください.\n" );
}

void input( FILE *fp, int cnt, struct meibo *a, int *end )
{
  printf( "名前-->" );
  scanf( "%s", a->name );
  printf( "TEL -->" );
  scanf( "%s", a->tel );
  printf( "住所-->" );
  scanf( "%s", a->address );
  printf( "Exit? Continue:0 Exit:1 -->" );
  scanf( "%d", end );
  printf( "\n" );
  fprintf( fp, "%2d, %s, %s, %s\n",
    cnt+1, a->name, a->tel, a->address );
}

またわからないことが・・・
教えて下さい。
以下をVC++2005でコンパイルすると、

MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。
C:\Documents and Settings\tomato\My Documents\Visual Studio 2005\Projects\a\Debug\a.exe : fatal error LNK1120: 外部参照 1 が未解決です。

と警告がでて通りません。
何のことでしょうか。

#include<stdio.h>
#include<process.h>

struct meibo{
  char name[20];
...続きを読む

Aベストアンサー

http://www.a.math.ryukoku.ac.jp/~hig/course/compsci2_2005/man/faq.html
にある現象と同じではないでしょうか、一度お試しください。

Qパスを通したはずなのに「パスは見つかりません」

お世話になります。始めてプログラミングを勉強しています。
環境はWindws XPHome Edition Ver2002、SP2
コンパイラとしてダウンロードしたのは、
「Borland C++compiler」です。
インストールして、pathの環境変数の最後にbin;c:\Borland\Bcc55\binと付けました。
もとの環境変数↓
(%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\GTK\2.0 )

 実際コマンドラインでメモ帳を開こうと>C:\WINDWS\NOTEPAD.EXEと打ち込んでも、
指定されたパスは見付かりませんとでます。
確かにCドライブの「WINDWS」フォルダの中にNOTEPAD.EXEは存在します。
他にもカレントディレクトリを変えようとして、>cd ○○と打っても、
確かにあるはずなのに「指定されたパスはみつかりません」になってしまいます。
打ち込んだ文字や環境変数に加えた文字に間違いはないかと、かなり確認したり似たような質問を検索してみたのですが、どうも分からずお手上げ状態です。
よろしければ教えていただけないでしょうか。
ちなみに「10日でおぼえるC言語」というテキストどおりにやっています。

お世話になります。始めてプログラミングを勉強しています。
環境はWindws XPHome Edition Ver2002、SP2
コンパイラとしてダウンロードしたのは、
「Borland C++compiler」です。
インストールして、pathの環境変数の最後にbin;c:\Borland\Bcc55\binと付けました。
もとの環境変数↓
(%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\GTK\2.0 )

 実際コマンドラインでメモ帳を開こうと>C:\WINDWS\NOTEPAD.EXEと打ち込んでも、
指定されたパスは見付か...続きを読む

Aベストアンサー

>C:\Documents and Settings\ユーザー名\WINDOWSとなっていますので、
>問題ないとは思っていたのですが・・。
なぜそれで問題ないと思えるのか不思議なんですが
C:\の下にあるWINDOWSフォルダの下にあるFontsフォルダに移動したい、と自分で理解してますか?
「確かにWINDOWSの中にFontsはあるのですが」と言ったとき、マイコンピュータからどのフォルダを順に開いていきましたか?
Documents and Settingsフォルダは開いてはいないでしょう?

Qパスがあってない?指定されたパスが見つかりません

【OS】Win7 32bit

bat((1)とする)で、
devcon.exe update "C:\Program Files\Microsoft Xbox 360 Accessories\Xusb21.inf" "USB\VID_045E&PID_028E"
del C:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c.win7.x86.ja\x360cps.dll
pause

というコマンドを実行するときに、
一行目のdevcon.exeのupdateはDrivers updated successfullyと出るので、実行されていると思います。
しかし、二行目のdelのコマンドは、
「C:\windows\system32>del C:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c.win7.x86.ja\x360cps.dll
指定されたパスが見つかりません」と出ます。
パスが見つからないのだから、環境変数のpathに

C:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c.win7.x86.ja

を追加すればうまくいくだろうと追加したのですが、やはり同じ結果に。


違うbat((2)とする)もありまして、

devcon.exe update "C:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c.win7.x86.ja\x360c.inf" "USB\VID_045E&PID_028E"
pause

というbatなのですが、こちらはdevconのupdateだけですがupdated succsessfullyと出るので、

C:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c.win7.x86.ja

は通ってることになると思うんです。

x360cps.dllという文字列を「プログラムとファイルの検索」から検索して、場所を確認するとC:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c.win7.x86.ja
となっているし、このフォルダ内のx360cps.dllをcmd画面にドラッグ&ドロップすると、
C:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c.win7.x86.ja\x360cps.dll
と出ます。

削除自体はデスクトップからできるのですが、
なぜこの場合「指定されたパスが見つかりません」と出るのか納得がいきません。
フォルダ1,2のフォルダ名がいけないのでしょうか?
でも(2)が実行されてるしなあ。updateとdelではフォルダ名によってできるできないがわかれるのでしょうか?
フォルダ1の名前は全角カタカナ、フォルダ2の名前は漢字、半角スペース、全角カタカナの混在です。

この場合なぜ「指定されたパスが見つかりません」と出るのかどなたか教えていただけませんか?
足りない情報としてどんなものがあるかわからないので、足りない情報があればおっしゃってください。
ちなみに、batやpathについてはネットで読みかじった程度の知識しか持っておりません。
こんな者への回答ですが、宜しくお願いします。

【OS】Win7 32bit

bat((1)とする)で、
devcon.exe update "C:\Program Files\Microsoft Xbox 360 Accessories\Xusb21.inf" "USB\VID_045E&PID_028E"
del C:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c.win7.x86.ja\x360cps.dll
pause

というコマンドを実行するときに、
一行目のdevcon.exeのupdateはDrivers updated successfullyと出るので、実行されていると思います。
しかし、二行目のdelのコマンドは、
「C:\windows\system32>del C:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c....続きを読む

Aベストアンサー

delコマンドは複数のファイルを同時に削除するために複数のファイル名を引数にすることができるのではなかったかと思います.

このため,フォルダ2の名前に半角スペースが入っているとのことですので,delコマンドの引数がここで2つに分離されてしまっているのではないでしょうか.

delの引数のC:\Users\Yxxxxxxxxx\Desktop\フォルダ1\フォルダ2\x360c.win7.x86.ja\x360cps.dllをダブルクォーテーション(”)で括ってみては如何でしょう.

Qファイル出力の場所を指定

現在C++にてhtmlファイルを出力するプログラムを作っているのですが、出力場所を指定することはできるのでしょうか?(現在はそのプログラムソースが保存されている場所と同じファイル内に出力されますが、それをデスクトップに出力するなど。)
もし、方法がありましたら、教えてください。
ソースや参考HPのURLなどのせていただけたらありがたいです。
環境はVisualStudio.NET2003です。
よろしくお願いします。

Aベストアンサー

単にファイル名の前にパスを指定する。

絶対パス指定
fp=fopen("c:/temp/test.txt","w");

相対パス指定
fp=fopen("./hoge/test.txt","w");


デスクトップはOSやユーザによって場所が異なるので、少し面倒です。
XPの場合環境変数を利用してこんな感じで出来ると思います。

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

void main(void)
{
FILE *fp;
char fname[1024];
strcpy(fname,getenv("USERPROFILE"));
strcat(fname,"/デスクトップ/test.txt");
fp=fopen(fname,"w");
//処理
fclose(fp);
}

Qファイルやディレクトリの存在確認を行う方法

ファイルをオープンするのはfopenでOKですが、ファイルやディレクトリの存在確認を行う方法が知りたいです。

何か組み合わせて作るものなのでしょうか?
perlとか便利な演算子があるのですが、C/C++って器用ではないですね。
これは処理系?依存の内容ですか?

私の環境は VC6, VC2005 Windows2000です。

Aベストアンサー

int access(const char* path, int mode);
int stat(const char* path, struct stat* sb);

かな?
MSDN を引くと _access_s() を使えとか書いてあるけど。

QC++でscanfは使えない?

お盆休みを利用してC言語の勉強をしようと思っています。
さわり程度にはわかるのですが、ポインタなどを本気で理解してみようと思っています。

PCにvisual studio2013が入っているので、2013のC++のプロジェクトを使って勉強していこうと思っているのですが、下記のように入力すると、scanfでエラーが出てしまいます。

#include "stdafx.h"
#include <stdio.h>

void main()
{
int n;
scanf("%d",&n);
}

C++ではC言語の文法は全て使えると聞いていたのですが、ある程度例外もあるということなのでしょうか?それともなにか原因があるのでしょうか?

Aベストアンサー

scanfはC言語の「文法」ではありません。
「標準ライブラリ」と呼ばれる、ライブラリに含まれる関数の一つでしかありません。


あと、具体的にどんなエラーメッセージが出たのですか?
メッセージの内容を読んで理解することも、プログラミング技術向上に大事なことです。

http://ja.wikipedia.org/wiki/Scanf#scanf.E3.81.AE.E5.95.8F.E9.A1.8C.E7.82.B9.E3.81.A8.E5.9B.9E.E9.81.BF.E6.96.B9.E6.B3.95
にあるように、scanfは使い方を間違えるととても「危険」な関数です。
そこで
http://msdn.microsoft.com/ja-jp/library/9y6s16x1%28v=vs.100%29.aspx
> セキュリティに関するメモ
とあるように、Microsoftとしてはセキュリティ強化版を使うことを推奨しています。
# 根本対策にはなってないという説もありますが。

そのため、設定次第では、scanfを使っただけで警告、またはエラーになります。

scanfはC言語の「文法」ではありません。
「標準ライブラリ」と呼ばれる、ライブラリに含まれる関数の一つでしかありません。


あと、具体的にどんなエラーメッセージが出たのですか?
メッセージの内容を読んで理解することも、プログラミング技術向上に大事なことです。

http://ja.wikipedia.org/wiki/Scanf#scanf.E3.81.AE.E5.95.8F.E9.A1.8C.E7.82.B9.E3.81.A8.E5.9B.9E.E9.81.BF.E6.96.B9.E6.B3.95
にあるように、scanfは使い方を間違えるととても「危険」な関数です。
そこで
http://msdn.microsoft.com/ja...続きを読む

Qハンドルされていない例外が発生しました

C言語の勉強をしていますが、初心者なものでなかなか思うようにできません。
Visual Studioを使って「lfit5」というプログラムを作っています。下にプログラムのmainを載せています。

int _tmain(int argc, _TCHAR* argv[])
{
int ma=2;
int mfit=2;
int ndata=4;
float m;
float s=0.0;
float *n;
float **covar;
float *chisq=&s;
void (*funcs)(float x[], float *afunc, int ma);
float x[4]={1,2,3,4};
float y[4]={0,5,15,24};
float sig[4]={1,1,1,1};
float a[2];
int ia[2];
char buf;
//chisq=0;

n=&m;
covar=&n;

funcs=orgfuncs;

lfit(x, y, sig, ndata, a, ia, ma, covar, chisq, funcs);

buf=getchar();
buf=getchar();

return 0;
}

ビルドはできたのですが、実行すると

lfit5.exe の 0x004127f4 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0xccccccd0 に書き込み中にアクセス違反が発生しました。

というエラーメッセージが出ます。

最初は「coverが初期化されていない」というエラーが出ていて、
n=&m;
covar=&n;
等 を加えることで初期化のエラーは消えたのですが、次に上記のようなエラーメッセージが出始めました。

専門用語等解らないことも多いのですが、どうすればよういか解らず、御教授頂きたいです。
どうか宜しくお願い致します。

C言語の勉強をしていますが、初心者なものでなかなか思うようにできません。
Visual Studioを使って「lfit5」というプログラムを作っています。下にプログラムのmainを載せています。

int _tmain(int argc, _TCHAR* argv[])
{
int ma=2;
int mfit=2;
int ndata=4;
float m;
float s=0.0;
float *n;
float **covar;
float *chisq=&s;
void (*funcs)(float x[], float *afunc, int ma);
float x[4]={1,2,3,4};
float y[4]={0,5,15,24};
float sig[4]={1,1,1,1};
float a[2];
int ia[2];
char bu...続きを読む

Aベストアンサー

恐らくlfitの中で初期化されていないポインタを使ったと思います。
0x004127f4 は例外の発生したコードのアドレスです。
0xccccccd0 はデータとしては通常はあり得ないアドレスです。
そもそも、0xCCは機械語でINT3に相当し、ブレークポイント用の
割り込み命令です。スタックなどの未使用領域は当初はこの値で
埋められるので、初期化されない自動変数はよくこの値になります。

Qint型からchar型への変換

タイトル通り、int型からchar型への変換の仕方がわかりません!><
どうしたらいいのでしょうか?

Aベストアンサー

#include <stdio.h>


char buf[5];
int no;

no = 10;
sprintf(buf, "%d", no);


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング