[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 10/16 01:02 / Filesize : 178 KB / Number-of Response : 657
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★初心者にVisual C++を教えるスレ★ Part30



1 名前:デフォルトの名無しさん [2008/05/07(水) 23:33:53 ]
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう。
・できるだけ具体的に。

質問の仕方については次のページが大変参考になります。
www.hyuki.com/writing/techask.html
myu.daa.jp/osiete/

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

過去スレ、関連スレなどは>>2-5辺り。


2 名前:デフォルトの名無しさん [2008/05/07(水) 23:34:50 ]
Part29 ttp://pc11.2ch.net/test/read.cgi/tech/1203007556/
Part28 ttp://pc11.2ch.net/test/read.cgi/tech/1196430042/
Part27 ttp://pc11.2ch.net/test/read.cgi/tech/1189394427/
Part26 ttp://pc11.2ch.net/test/read.cgi/tech/1176387917/
Part25 ttp://pc11.2ch.net/test/read.cgi/tech/1168354839/
Part24 ttp://pc10.2ch.net/test/read.cgi/tech/1158296664/
Part23 ttp://pc8.2ch.net/test/read.cgi/tech/1140711893/
Part22 ttp://pc8.2ch.net/test/read.cgi/tech/1131443284/
Part21 ttp://pc8.2ch.net/test/read.cgi/tech/1124806288/
Part20 ttp://pc8.2ch.net/test/read.cgi/tech/1120222322/
Part19 ttp://pc8.2ch.net/test/read.cgi/tech/1116209988/
Part18 ttp://pc8.2ch.net/test/read.cgi/tech/1113539594/
Part17 ttp://pc8.2ch.net/test/read.cgi/tech/1107926989/
Part16 ttp://pc8.2ch.net/test/read.cgi/tech/1101022051/
Part15 ttp://pc5.2ch.net/test/read.cgi/tech/1097880265/
Part14 ttp://pc5.2ch.net/test/read.cgi/tech/1093672937/
Part13 ttp://pc5.2ch.net/test/read.cgi/tech/1089011118/
Part12 ttp://pc5.2ch.net/test/read.cgi/tech/1083585833/

3 名前:デフォルトの名無しさん [2008/05/07(水) 23:35:24 ]
Part11 ttp://pc5.2ch.net/test/read.cgi/tech/1077965179/
Part10 ttp://pc5.2ch.net/test/read.cgi/tech/1074933908/ ※
Part09 ttp://pc5.2ch.net/test/read.cgi/tech/1068983609/ ※
Part08 ttp://pc5.2ch.net/tech/kako/1063/10630/1063029371.html
Part07 ttp://pc5.2ch.net/tech/kako/1056/10562/1056280510.html
Part06 ttp://pc5.2ch.net/tech/kako/1052/10529/1052931903.html
Part05 ttp://pc5.2ch.net/tech/kako/1048/10486/1048698321.html
Part04 ttp://pc5.2ch.net/tech/kako/1044/10441/1044196393.html
Part03 ttp://pc5.2ch.net/tech/kako/1038/10381/1038160750.html
Part02 ttp://pc3.2ch.net/tech/kako/1030/10309/1030985362.html
Part01 ttp://pc3.2ch.net/tech/kako/1023/10235/1023530449.html


4 名前:デフォルトの名無しさん [2008/05/07(水) 23:36:02 ]
【関連スレ】
■MFC相談室 mfc18d.dll■
pc11.2ch.net/test/read.cgi/tech/1185917008/l50
Win32API質問箱 Build57
pc11.2ch.net/test/read.cgi/tech/1189255282/l50
【C++】 DirectX初心者質問スレ Part14 【C】
pc11.2ch.net/test/read.cgi/tech/1182351826/l50
【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 131
pc11.2ch.net/test/read.cgi/tech/1170338926/l50
C++相談室 part56
pc11.2ch.net/test/read.cgi/tech/1185377587/l50
C/C++の宿題を片付けます 95代目
pc11.2ch.net/test/read.cgi/tech/1187944110/l50
【初心者歓迎】C/C++室 Ver.42【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1188748806/l50

【関連サイト】
猫でもわかるプログラミング
www.kumei.ne.jp/c_lang/
MSDN ライブラリ ※変更された
msdn.microsoft.com/library/ja/
msdn2.microsoft.com/ja-jp/library/ (2005のことはこっち)
Platform SDK Update ※変更された
www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
Google
www.google.co.jp/

5 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:36:54 ]
【このスレの前身 VisualC++相談室 過去スレ】
part 1 ttp://piza.2ch.net/tech/kako/970/970607517.html
part 2 ttp://piza.2ch.net/tech/kako/981/981630730.html
part 3 ttp://piza2.2ch.net/tech/kako/993/993186053.html
part 4 ttp://pc.2ch.net/tech/kako/1002/10021/1002165477.html
part 5 ttp://pc.2ch.net/tech/kako/1006/10068/1006834463.html
part 6 ttp://pc.2ch.net/tech/kako/1011/10116/1011615035.html
part 7 ttp://pc.2ch.net/tech/kako/1017/10178/1017843192.html
part 8 ttp://pc.2ch.net/tech/kako/1022/10224/1022499000.html
part 9 ttp://pc5.2ch.net/tech/kako/1036/10368/1036897197.html


6 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:38:00 ]
Platform SDKの中で一番新しいのはこっち
Microsoft Windows Server 2003 R2 Platform SDK Web Install
www.microsoft.com/downloads/details.aspx?FamilyID=0baf2b35-c656-4969-ace8-e4c0c0716adb&DisplayLang=en
(ISO版などあり)

これ以降、Platform SDK + .NET Framework SDKとして
Windows SDKが公開されていて、その中で一番新しいのはこれ。
Windows SDK for Windows Server 2008 and .NET Framework 3.5
www.microsoft.com/downloads/details.aspx?FamilyID=f26b1aa4-741a-433a-9be5-fa919850bdbf&DisplayLang=en
少し前のバージョン(Vista + .NET 3.0の初期版)には日本語版もあったけど、
日本語化されているのは専ら.NET Framework部分だけ。

VC6対応の、最後のPSDKはここ。
www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm



テンプレ終わり。

7 名前:デフォルトの名無しさん [2008/05/07(水) 23:39:53 ]
前スレ>>6-7をテンプレに入れてみた。

8 名前:前スレ971 mailto:sage [2008/05/07(水) 23:40:00 ]
自己解決しました...orz
2つの環境でうまくいかないのでおかしいなあと思っていたのですが、
1つ目の環境では32bit環境であるにもかかわらず64bitのライブラリをリンクしようとしていたミス
2つ目の環境ではmulti processorのライブラリを指定しているにもかかわらずsingle processorのライブラリディレクトリを指定していたミス
という非常にアホなミスで単にライブラリのリンクが失敗しているだけでした...
ご丁寧に呼び出し規約のことを考えていただいたみなさま、どうもありがとうございました。
dumpbinででてくるものが_付きでないものだから、呼び出し規約のせいじゃないかと思考が凝り固まってしまったのが敗因でした…

蛇足ですが前スレ>>990-992は自分じゃないですorz
みなさまどうもありがとうございました。

9 名前:C++ コンパイラ mailto:age [2008/05/08(木) 02:04:45 ]

Microsoft Visual C++ Toolkit 2003
ftp://195.252.112.9/programiranje/programski-jezici/VCToolkitSetup.exe

VCToolkitSetup.exe

size 32952488
sha1sum 956c81c3106b97042c4126b23c81885c4b5211f4

edonkey checksum
ed2k://|file|VCToolkitSetup.exe|32952488|c534888fa7605403dcb183d2d15282d1|/



10 名前:C++ mailto:age [2008/05/08(木) 02:05:16 ]

Visual Studio 2005 Express Edition CD イメージからのインストール方法
www.microsoft.com/japan/msdn/vstudio/express/maninstall/

Visual C++ 2005 Express Edition 日本語版 サイズ 611,540 KB CRC 0xB3AD1A2F
download.microsoft.com/download/8/E/8/8E85D539-2255-4CFD-AA97-440AE6C6F44A/vc.iso




Visual Studio 2008 Express Edition の DVD イメージからのインストール
www.microsoft.com/japan/msdn/vstudio/express/maninstall/2008/default.aspx
download.microsoft.com/download/F/A/6/FA693F60-97D1-44EB-AC7F-6A44AC42B10E/VS2008ExpressJPNX1428694.iso





11 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:33:05 ]
if(i<-1)
{
return;
}

だとコンパイル通るのに

#define test (-1)

if(i<test)
{
return;
}

だと
if(i<test)
でエラーが出るんだが何がいけないんでしょうか?


12 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:50:48 ]
>11
どんなエラーですか?
見た感じエラーにはならないですけど。

13 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:57:22 ]
VC++で開発しようと考えていて、開発環境で悩んでいます。

VC2003 Standardは持っていて、慣れていていい感じなんですが
プロジェクトをシェアしようとすると、無償で入手可能なVC2005 Expressか
VC2008 Expressがいいように思えます。

・VC2005 Expressはりソースエディタがないらしいけど
 どうやってリソースを作成しているんでしょ?

・VC2008 Expressはマルチスレッドプログラムの
 デバッグができないらしいけど、あきらめるしかない?

作ろうとしているプログラムは、リソースも使うしマルチスレッドでもある。
おとなしく買えってことなのかな?

自分でStanadrdなりProfessionalなりを買うのはいいんだけど
自分しかメンテできないという環境はいやだなぁ、と思って相談しました。

14 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 01:26:44 ]
デバッグは判らんが、リソースのコンパイルは出来るはずだけど。
仮にできなくても、リソースコンパイラはWindowsSDKに入ってた気がする。
RCファイルは自力で書かないといけないけど。

15 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 01:42:58 ]
>>12
error C2143: 構文エラー : ')' が ';' の前にありません。

)つけてるのに出ます
わけがわかりません

16 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 01:46:15 ]
>14
リソースに関しては、一回作れば済む話なので、あまり心配はしてません。

マルチスレッドデバッグは、これがないと厳しいな。

VC2003でマルチスレッドプログラムをデバッグしたときは、
ブレークポイントでちゃんと他のスレッドも止まってくれるのよね。

17 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 01:49:00 ]
>15
testって定義が重複してたりしないかな?

重複しなそうな別の名前(testtesttestとか)に変えるとどう?

18 名前:デフォルトの名無しさん [2008/05/09(金) 16:35:47 ]
VC++のいい解説サイトありませんか?
色々検索してるんですがいいところがみつからなくて・・・
C言語のコンパイルの仕方がわかればいいです

19 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 16:59:16 ]
コンパイルの仕方って・・・
解説サイト以前の問題じゃないのか?

20 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:13:40 ]
mingwはインストール段階で挫折して
VC++ではどこで挫折するのかと思ったら
コンパイルの仕方を質問してるってどんだけ〜



21 名前:デフォルトの名無しさん [2008/05/09(金) 19:10:18 ]
>>17
いろんな名前にかえましたが
やっぱり同じエラーです
プロジェクト作り直したりしてみましたが
だめでつた

Const int とかにすることにしました
ありがとうございやした

22 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 20:48:46 ]
マクロ使うとエラーがわかりにくいといういい例だね。

23 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 20:53:10 ]
初めまして。
なにを書けば意図が伝わるのか、要点がよくわからないのですが
その辺りは指摘をお願いします。

では、質問させていただきます。

ダイアログにおいて[Microsoft Web Browser]という[ActiveXコントロールの挿入]を行いました。
すると、ダイアログにブラウザが表示されるのですがスクロールバーの消し方がわかりません。(縦横両方)
スクロールバーの設定はいじれるのでしょうか?
色々検索し、スクロールバーを消す命令を見つけたのですが
記述してもなにも起こらず仕舞いです。
晒します。

BOOL CBROWSER::OnInitDialog()
{
CDialog::OnInitDialog();

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
SetIcon(m_hIcon, TRUE);
RECT Rect;
GetWindowRect( &Rect );
ModifyStyle(WS_CAPTION|WS_SYSMENU|WS_BORDER|WS_DLGFRAME|WS_CLIPSIBLINGS,WS_MAXIMIZE,0);
SetWindowPos( &wndTop, -1,-1, Rect.right-Rect.left, Rect.bottom-Rect.top, SWP_FRAMECHANGED );
ScreenToClient(&Rect);
m_Web.SetWindowPos( &wndTop, Rect.left, Rect.top, Rect.right-Rect.left+1, Rect.bottom-Rect.top+1, SWP_FRAMECHANGED );
m_Web.EnableScrollBar(SB_BOTH,0); //これがそれらしいのですが・・・

return TRUE;
}

どなたかご存知であればご返答よろしくお願いします。


24 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 21:01:56 ]
IE専用のコマンドじゃなかったかな?

25 名前:デフォルトの名無しさん [2008/05/09(金) 21:08:36 ]
0

26 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 01:14:18 ]
>>25
1にしろということだと思って
m_Web.EnableScrollBar(SB_BOTH,1);
に変更しましたが変化なしでしたorz




27 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 04:36:36 ]
バリバリの初心者ですが、データをtxtファイルから入力するときにそのtxtファイルをどのフォルダに入れればいいかわからなくて困ってます。
どなたかご教授を・・。

28 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 06:19:58 ]
どこでもいい

29 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 08:13:51 ]
>23
それ使えるのウィンドウのスタイルとしてスクロールバーを持っている場合だろうな

30 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 09:50:38 ]
>>28
どどどどこでもいいんすか。
じゃあエラーが出るのは違う要因のようです・・・。
ありがとうござんす。



31 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:28:11 ]
ファイル位置を絶対パスで指定しろ

32 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:45:20 ]
Form1のボタン1を押す
  Form2のボタン2のEnableがtrueになる
  Form1のボタン1のEnableがfalseになる
Form2のボタン2を押す
  Form1のボタン1のEnableがtrueになる
  Form2のボタン2のEnableがfalseになる

これだけのことなんですが、動くソースがどうしても書けません。

 

33 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:06:56 ]
>>29
そうなんですか・・・
ありがとうございます。
他の方法をあたってみます。

34 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 14:01:27 ]
ソース載せたら回答つきやすいかも。

35 名前:デフォルトの名無しさん [2008/05/10(土) 15:46:18 ]
/EHsはどこで定義されていますか?

36 名前:デフォルトの名無しさん [2008/05/10(土) 16:34:30 ]
自クラスのプロパティを、外部クラスから取得、設定するために
Setter、Getter のメソッドを用意しているのですが

Setter、Getter 以外のメソッドで
自クラスから自クラスのプロパティにアクセスする場合も
Setter、Getter を経由すべきなのでしょうか
また、経由しないことでデメリット等はあるのでしょうか
よろしくお願い致します

37 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 16:54:34 ]
値の管理(上限・下限とか)を厳格にやりたいんなら、
経由すればいいし、パフォーマンス優先なら経由しなければいい。

38 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 17:08:13 ]
>>36
【肥大化】C++ を見捨てたヤシ【複雑化】
pc11.2ch.net/test/read.cgi/tech/1201567967/

39 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 17:13:10 ]
>>37
なるほど、ありがとうございます

>>38
いま覗いてみましたが、
後半のほうでその手の話題になってますね、ちょいと読んでみます
ありがとうございます

40 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 18:35:42 ]
>>36
自クラス内だから直接触ってもいと思う。
でも、特殊な操作が無くて、Setter、Getter使って困ることが無ければ使ったほうがいいんじゃないかな?Setter、Getterつかっておけば後からの仕様変更が楽ではある。




41 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 21:48:11 ]
サンプルのソースとかをビルドする時に新しくプロジェクトを作りますが、
サンプルのソースがフォルダで管理されている時にVCでも同じフォルダ構成で管理したいのですが、
いっぺんに同じフォルダ構成にする方法ってありますか?

42 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 01:15:09 ]
サンプルのディレクトリとファイル構成をそのまま
sample.vcprojのFilterタグとFileタグに出力するスクリプトを書けばいいんじゃないかな

43 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 04:36:10 ]

●6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
system-trading.jp/news/index.php?cID=3
[シストレFXグランプリとは]
クリック証券が提供するFXのデモ取引環境を利用して、システムトレードにチャレンジできるFX取引のグランプリです。
お客様ご自身で作成したシステムトレードの機能を評価する「シストレソフト部門」とトレード収益を競う「トレード部門」の2部門構成となっております。

●5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
  デモトレードの優勝者には賞金三百万円がプレゼントされます。

▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
www.fx-gp.com/about/

▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円

44 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 09:24:16 ]
>>42
ファイルを追加するようにフォルダを追加することは出来ないのですね。
具体的にはどうしたらいいんでしょう?

45 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 09:36:10 ]
スクリプト書けないなら手でやった方が早い

46 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 09:46:00 ]
スクリプトじゃなくても好きな言語でプログラム書けばいい

47 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:55:54 ]
そうですか。。
とても量が多いのですが手でやってみます。

48 名前:デフォルトの名無しさん mailto:asge [2008/05/11(日) 13:31:12 ]
逆引きゲームプログラミングという本のサンプルプログラム↓
ttp://www.shuwasystem.co.jp/books/7980/1169-X/1169-X.html
をBCC5.5ではなくVisualStudio2005でコンパイルしたいのですが、
〜番目の引数を 'const char [〜]' から 'LPCWSTR' に変換できません。
というエラーが数百と、
〜番目の引数を 'unsigned char [〜]' から 'char *' に変換できません。
〜番目の引数を 'const char [〜]' から 'unsigned char *' に変換できません。
というエラーが42箇所出てしまいコンパイルできません。

数百出たエラーはプロパティで マルチバイト文字セットを使用する にしてコンパイルしたら全て消えたのですが、
他の42のエラーもコンパイルの設定で回避できるようでしたらその方法を教えてください。
42箇所だけですので書き換える方法でもいいです。

error C2664: 'FontPrint' : 3 番目の引数を 'const char [15]' から 'unsigned char *' に変換できません。
FontPrint( 208, 160,"NOW GAME SCENE");
error C2664: 'ReadWaveFile' : 3 番目の引数を 'unsigned char []' から 'char *' に変換できません。
wave_size = ReadWaveFile( "..\\..\\data\\bgm00.wav", &g_WaveControllBGM->WaveFormat, g_WaveControllBGM->WaveData);

こういった箇所です。よろしくお願いします。

49 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:41:47 ]
>>48
コンパイラの設定で回避できるか知らんが
できたとしても設定で回避するようなエラーではない。
手作業で修正するべき。

50 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:24:49 ]
printf()で出力したファイルをテキストファイルに書き出すことってできますか?



51 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:31:58 ]
できるけどスレ違い

52 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:32:53 ]
>>50
コマンドプロンプトでリダイレクトして実行って話?

53 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:37:25 ]
VS2005を使っています。
あるプロジェクトをデバッグしようとしたところ、そのアプリは
起動時に必要なディレクトリの存在チェックをしているみたいで
プロジェクト内にはそのディレクトリが存在しないため、エラーに
なって起動出来ませんでした。

そのディレクトリを作ってあげれば良いと思うのですが、プロジェクト配下に
作りたくないので、別の場所にアプリが必要とするディレクトリを作りたいと考えています。
この場合、アプリを起動させる時に、作成した別の場所のディレクトリをスタートアップ時の
ディレクトリとして認識させる方法ってあるのでしょうか?

分かり難い説明で申し訳ありません・・・。

54 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:48:59 ]
>>53
プロジェクトのプロパティのデバッグに作業ディレクトリって項目ないか?
それで起動時のカレントディレクトリは指定できるけど

55 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:55:20 ]
>>53
デバッグの作業ディレクトリを指定すりゃいいんじゃないの?

56 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 16:24:00 ]
>>54 >>55
おおっ!まさにこれです!
無事に起動する事が出来ました!
ありがとうございました!

57 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:57:50 ]
Visual C++ 2008 Express Editionで、C言語の勉強をしたいのですが、
前スレで教えてもらったこの方法
---------------
[ファイル]->[新規作成]->[プロジェクト]->[Win32]->[Win32コンソールアプリケーション]
プロジェクトを作る場所、プロジェクト名を決定し、[OK]
[次へ]を選択し、[追加のオプション]で[空プロジェクト]を選択し[完了]
デフォルトでは左に表示される[ソリューションエクスプローラ]のツリー内の[ソースファイル]を右クリック
[追加]->[新しい項目]->[C++ファイル(.cpp)]
追加したいファイル名を入力して[OK]、拡張子まで書けば*.cにもできる。
で、ファイル内に以下のコードを記述する
#include<stdio.h>
int main( void ) {
puts( "ググレカス" );
return 0;
}
[Ctrl + F7]でコンパイルする。エラーがなければ[F5]で実行。
すぐにコマンドプロントが消えるのは仕様。出力結果を残したいならば[Ctrl + F5]で実行すればいい。

[F7]でビルドする。
-----------------------
では、C++言語になってしまうようです。
C言語をやるにはどうしたらよいでしょうか。

58 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:59:29 ]
VCでやれ

59 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 02:02:33 ]
>>58
言われてみればそのとおりでした。
さっそくそっちをダウンロード&インストールしてきます。

60 名前:長いので二つに分割します(1/2) mailto:sage [2008/05/12(月) 04:19:58 ]
#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;

struct test
{
test(): a( rand() % 10 ) { }
int a;
};

int main()
{
// コンストラクタの rand() が機能しない
vector< test > t1(10);
for ( vector< test >::size_type i = 0; i != t1.size(); ++i )
{
cout << t1[i].a << " ";
}
cout << endl;
// コンストラクタの rand() がちゃんと機能する
vector< test > t2;
for ( vector< test >::size_type i = 0; i != 10; ++ i)
{
test t;
t2.push_back( t );
cout << t2[ i ].a << " ";
}
cout << endl;
return 0;
}



61 名前:長いので二つに分割します(2/2) mailto:sage [2008/05/12(月) 04:22:05 ]
Visual C++ 2008 Express Edition ( Windows XP ) で上のプログラムを実行すると
t1[ 0 ] から t1[ 9 ] まではすべて同じ値に
t2[ 0 ] から t2[ 9 ] まではばらばらの値に
なります。いったいが何がそうさせているんでしょう?
どうも何度か試したところでは t1[ 1 ] 以降は 一つ前の要素の値をそのままコピーしているらしく
たとえば
test(): a( 0 ) { if ( 何がしかの条件 ) { a = 1; } }
のようなコンストラクタを書いたとき
本来 0 にならなければならない要素にもかかわらず
直前の要素が 1 の時に 0 にならないケースが発生します。
test() { if ( 何がしかの条件 ) { a = 1; } else { a = 0; } }
って書くしかないんでしょうか?

62 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 06:10:31 ]
それVCというか普通のC++の範囲内だろ

63 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 07:50:19 ]
>>61
再現する最低限のソースを作って張るんだ。
貼られた部分だけを見ると、引き数つきのコンストラクタがないからエラーが出そうなんだが。

64 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 08:19:26 ]
ぱっと見、問題ないけどなあ
うーん

65 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:09:02 ]
コンストラクタでrandとか・・・

66 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:15:44 ]
>>63
大丈夫、10はtestではなくvectorの引き数だ。

>>61
ディフォルトコンストラクタは最初の一回だけ呼ばれて、後はコピーコンストラクタしか呼ばれない。
つーか、実験目的ならrand()なんか使わずにclock()でも使っておけよ。

67 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:27:59 ]
>>66
clock()だと間に合わないみたいねw
--
[foo@Corvus tmp]$ ./a.out
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
--
ってことで、こんな風にしてみた。
--
static int staticCounterForDefault;
static int staticCounterForCopy;

struct test
{
int a;
test() : a(++staticCounterForDefault) {}
test(const test & foo) : a(++staticCounterForCopy) {}
};
--
では問題、実行せずに出力結果を予測しなさい。
# って、厳密には実装依存なのかな。

68 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:30:17 ]
正直スレ違い

69 名前:67 mailto:sage [2008/05/12(月) 10:38:27 ]
しまった、すっかりC/C++スレかと。正直すまんかった。

>>61
ってことで、納得できなければ続きはC/C++スレ辺りで。

70 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 10:40:00 ]
pc11.2ch.net/test/read.cgi/tech/1208989385/



71 名前:デフォルトの名無しさん [2008/05/12(月) 12:58:44 ]
BEGIN_MESSAGE_MAPマクロですべてのイベントを同じ関数に飛ばして、その中で処理を分けたいのです。

それで次のようにOnProcが処理関数だとすると、ID_CMD_1,.....,ID_CMD_100に対応するID番号を
OnProcに知らせてやれば出来ると思うのですが、どのようにIDを取得するのかわかりません。
よろしくお願いいたします。


BEGIN_MESSAGE_MAP(CXXXX, XXXXX)
//{{AFX_MSG_MAP(CXXXX)
ON_COMMAND(ID_CMD_1, OnProc)
ON_COMMAND(ID_CMD_2, OnProc)

ON_COMMAND(ID_CMD_100, OnProc)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

72 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 13:14:26 ]
ON_COMMAND_EX

73 名前:デフォルトの名無しさん [2008/05/12(月) 17:39:21 ]
出来ました。ありがとうございました

74 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:59:17 ]
あるフォームから別のフォームを開いて
その別のフォームにある変数を渡したいのですがどうすればいいでしょうか

75 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 21:08:36 ]
C++/CLIの話?

76 名前:74 mailto:sage [2008/05/12(月) 21:09:47 ]
VC++の話です。


77 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 21:19:20 ]
1. 別のフォームの開き方は分かるけど、変数の渡し方が分からない。
2. 変数の開き方はわかるけど、別のフォームの開き方が分からない。
3. どっちも分からない。
4. その他のことが分からない。

さあどれだ?……と、聞き返さなくて済むよう初めから詳しく書け。

78 名前:74 mailto:sage [2008/05/12(月) 21:27:50 ]
大変申し訳ないです

別のフォームを開いてそのフォームの中で元のフォーム内の変数を使いたいのですが、
元のフォームから別のフォームを開く際に別のファイルのヘッダをインクルードしているので、
別のフォーム上で元のフォームのヘッダをインクルードできなくて、
そのような状態でどのように変数を渡してやればよいのかがわかりません。




79 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 21:34:22 ]
その、1個か2個なら単純に渡すための関数作って引数で渡せばいいんじゃないの?

80 名前:74 mailto:sage [2008/05/12(月) 21:56:29 ]
すみません 渡すための関数が思い浮かびません。
引数で渡せるのであれば、その引数をどうやって渡すかが思い浮かびません。




81 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 21:57:07 ]
>>76
一応言っておくけど、VC++ってのは言語名じゃなくて
MSの開発ソフトの名前だぞ。

82 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:15:06 ]
>>80
自分でそういう関数を作ればいいだけのこと。

83 名前:74 mailto:sage [2008/05/12(月) 22:30:33 ]
引数で渡す関数を作れ
⇒その関数の引数はどこから持ってくるの?
⇒そういう関数を作れ

(・д・)


84 名前:74 mailto:sage [2008/05/12(月) 22:35:08 ]
メインのcppでint passをローカル定義して
メインのcpp内で
void set_pass(int j){i=j;}
int get_pass(void){return i;}として
最初のフォームでset_pass(渡したい変数)実行して、
次のフォームで 受け取る変数 = get_pass()
でOK?


85 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:54:02 ]
テキトーなインターフェースクラスでも作成して、継承してしまえば?

86 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:04:46 ]
>>59ですが、
ここに
www.microsoft.com/japan/msdn/vstudio/express/default.aspx
VC2008というのが見あたらないのですが…

Visual C++2008でC言語のコンパイルなどをするにはどうしたらよいでしょうか?

87 名前:デフォルトの名無しさん [2008/05/13(火) 01:22:21 ]
拡張子がcppだとc++ cだとcでは

88 名前:デフォルトの名無しさん [2008/05/13(火) 01:23:27 ]
つか、C言語をC++でコンパイルしてもほとんど出来る。mainのvoidとかがちょっと違う

89 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:23:49 ]
>>87
>>59ですが、
>>57の方法だと
>[追加]->[新しい項目]->[C++ファイル(.cpp)]
のC++をCに変えればいいのか…と思ったらCファイルが選択できないようなのです。

90 名前:デフォルトの名無しさん [2008/05/13(火) 01:29:39 ]
C言語はC++コンパイラでコンパイル出来ますよ CPPでC言語出来ます



91 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:33:45 ]
>>90
そうなのですか?
猫でもわかるプログラミングで、
www.kumei.ne.jp/c_lang/intro/no_01.htm
これ↓をコンパイルするとエラーが出るのですが…

#include <stdio.h>
main()
{
printf("This is a test!");
}

92 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:40:02 ]
拡張子を、.cppから.cにするんだよ。

93 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:49:31 ]
>>92
手動で変更するということでしょうか?
してみましたが、
コンパイルやビルドしようとするとエラーが出ます…

94 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:51:01 ]
エラーが出るならエラー内容を張る!
ってかさ、>>57にも書いたんだけど、「拡張子まで書けば*.cにもできる。」ってあるじゃん?

ついでに・・・
猫に書いてあるプログラムが規格に完全に準拠しているなんて思わない!
すべてのコンパイラが規格通りの挙動を正しく行うなんて思わない!
猫に書いてあるプログラムが全てのコンパイラで通ると思わない!


95 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:52:07 ]
あ、解決しました
一つのソースファイルに複数のCファイルやC++ファイルをいれていたためエラーが起こっていたようです。
ご迷惑をおかけしました。

96 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:53:22 ]
>>94
>エラーが出るならエラー内容を張る!
次回からはそうします…
すいませんでした

>ってかさ、>>57にも書いたんだけど、「拡張子まで書けば*.cにもできる。」ってあるじゃん?
あああああ
完全に見落としてました…
すいません

>ついでに・・・〜
ややこしいのですねぇ…
ありがとうございました

97 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 01:55:15 ]
>>83
だって自分のプログラムなんだから渡したいデータは自分で用意できるはずだろ。

98 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 06:25:39 ]
>>97
近くに郵便局が無くて荷物を郵送できない人に
なら郵便局まで荷物を郵送すればいいじゃない

99 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 14:16:47 ]
>>91
int main()

100 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 18:21:44 ]
最近VC6をさわり始めました。
いま、ダイアログベースでピクチャボックスの画像を[印刷]ボタンを作って印刷しようと思っているのですが、どうにも仕方がわかりません。画像は表示できています。
印刷できるようにするにはどのようなプログラムを組めばいいのでしょうか?
よろしくお願いします。









[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<178KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef