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


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

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



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

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。

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

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

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

697 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 16:04:28 ]
>>965
無理

698 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 16:05:12 ]
>>696 >>697
感謝です。

699 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 16:07:43 ]
>>695
リソースじゃなくて自分でメニューバーのウィンドー作れば可能

700 名前:695 mailto:sage [2009/01/22(木) 16:15:20 ]
>>699
感謝です。

yokohama.cool.ne.jp/chokuto/urawaza/menu1.html
メニューバーの作り方はここを参考に作れば大丈夫でしょうか?

701 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 21:59:52 ]
Web制作の経験があるという理由だけで会社でVisual C++の担当になりました。
1から勉強しなければならないのですが、そもそもこのソフトで何ができるようになるのでしょうか?
上司に聞こうにも上手くはぐらかされるだけでストレスになっています。

例えばこういうものが作れるといった具体例があれば教えていただけないでしょうか?

702 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:09:40 ]
この世に存在する自動的に制御されているものはほとんど作れます

703 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:17:49 ]
これはさすがに釣りだろjk

704 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 22:59:02 ]
>>701
ウインドウズのアプリケーション。
ライブラリ。
DLL。
COM。
ActiveX。
Webアプリケーション。


705 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 04:26:10 ]
工具箱で何が作れるのか聞いてるようなもんだな。



706 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:11:32 ]
>>701
VCはなんでも作れるらから安心しろ。

707 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:30:49 ]
最初、ヴァーチャルストゥディオって読んでました


708 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 13:38:02 ]
VirtualStdioか
意味は通らなくもない

709 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 16:33:42 ]
VisualC++2005EEとVisualC++2008EEの違いって何ですか?
教えてください。

710 名前:デフォルトの名無しさん [2009/01/25(日) 16:40:52 ]
VisualC++2008EEのほうが全てに秀でる あと軽い

711 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 16:49:55 ]
ありがとうございました。
2008インストールしてみます。

712 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 19:45:42 ]
>>701
会社の業務に関係するシステムを作らされそうなの?
たぶんC#とかVBでやったほうがいいとおもうけど。

713 名前:デフォルトの名無しさん [2009/01/26(月) 23:16:58 ]
ダイアログベースアプリで、ウイザードが生成するコードで、
CXXXDlg::OnPaint()
{
 if(IsIconic())
 {
  処理

って奴あるじゃん。
あのIsIconicのときの処理って走りますか?
何時走るの??
ちなみにモーダルやモードレスの子ダイアログの場合、最小化すると走るらしいけど、
メインウインドの場合は?


714 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:28:03 ]
>>713
MSDNには最小化したら0以外が返るって書いてあるけど、
ダイアログ以外のウインドウだと動作が違うの?

715 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:30:19 ]
そもそも最小化しているときにOnPaintが呼ばれるのか?ということだろ。俺も気になる。



716 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:41:09 ]
てか、最近のVCのウィザードはif(IsIconic())なんてコードを吐くの?


717 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:41:21 ]
int main(void)
{
int a=0, b=99;
Exchange(a,b);
printf("a=%d ,b=%d\n",a,b);
}

int Exchange(int t1, int t2){
int tmp = t2;
t2 = t1;
t1 = tmp;
return t1,t2;
}


上の文では戻り値が返されずa=0,b=90と言う結果が出てしまいます。
どんな時に戻り値が適用され、どんな場合に仮引数、実引数が使われるのかが分かりません。
もしかして2つの値は返されないのでしょうか?
また、これは値渡しと言うものなのでしょうか?
混乱しています。よろしくお願いします。

718 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:42:49 ]
>>715
そうそう、そんな感じ。
ウィザードがわざわざ生成するくらいだから何とかすれば通るような。
でもブレイクポイント設定して何をやってもブレイクしないし。

719 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:45:16 ]
>>717
煽るわけじゃなくて、マジ疑問なんだけど、どういうのを
手本にして勉強してるの?
ネットのサイトとか?

二つの値を返したいときはこうだな。

void Exchange(int* t1, int* t2){
int tmp = *t2;
*t2 = *t1;
*t1 = tmp;
}

int main(void)
{
int a=0, b=99;
Exchange(&a,&b);
printf("a=%d ,b=%d\n",a,b);
}


720 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:46:38 ]
>>718
Win3.1時代の名残りかな?
そのころは、最小化するとタスクバーじゃなくて、アイコン化されてたし。

721 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:49:23 ]
>>720
最小化なのかアイコン化なのかもちょっと気になる。。

このIsIconic()〜のソースってSDIとかなら分かる気がする。

たとえば、親ウインドの中の子ウインドを最小化すると、親画面の左下に小さくなって並ぶじゃん。
あのときに、親ウインドにWM_PAINTが発生すれば、子供にも回ってきて、
子供は自分で自分がアイコンで占有している部分を更新リージョンからくり抜くんでしょ。たぶん。
でもメインウインドのダイアログのOnPaintでIf(IsIconic())って成立するのかな。。


722 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:51:38 ]
__int32と int型ってまったく同一に見られるんですか?
オーバーロードができないんですが。

723 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:54:21 ]
>>721
その場合は、子ウィンドウからしたら、全領域が非クライアント領域のような気がするし、
第一、WS_CLIPCHILDRENを付ければ勝手にやってくれることのような気がする。

724 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:55:14 ]
>>722
そういう仕様。
msdn.microsoft.com/en-us/library/29dh1w7z.aspx
> ..., and __int32 is synonymous with type int.
なお、ここには載っていないけど、__int64もlong longと同じ。

725 名前:722 mailto:sage [2009/01/26(月) 23:56:48 ]
すいません、リサーチ不足でした。
ありがとうございます。



726 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:57:18 ]
>>723
ああ。。確かに。
いったいこのコードなんだろう。誰かご存知のかた、ご回答お待ちしてます。

727 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:58:59 ]
>>719
いや、ポインタを使わずに返すには、こうしたらどうか?
……と、思って書いてみたんですけど…やっぱり無理ですよね。

サンクスです。

728 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 23:59:43 ]
C++なら参照というものがあってだな……。

729 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:06:10 ]
>>727
構造体を使えばできるけど、Cじゃあんまりやらないな。

struct pair {
int first, second;
};

struct pair swap(int a, int b)
{
struct pair c;
c.first = b;
c.second = a;
return c;
}

730 名前:デフォルトの名無しさん [2009/01/27(火) 00:12:11 ]
VC+++MFCってコントロール少なすぎじゃないですか?
どう見ても、VC#でやったほうが楽なのに、なんでVC++のほうがメジャーなんですか?

731 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:16:13 ]
そりゃ単純にいままでVC++でやってきた連中からしたら
VC#なんか分からん事だらけだからじゃないの?
なんでVC++で簡単にテキストファイル開けたのに
C#でその方法をぐぐらなくっちゃいけないの?
そこまでして移行してご利益がいっぱいあるの?
MSは好都合かもしれないけど。そんなものみんないやなんです。



732 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:16:36 ]
>>730
C#よりも10年近く先に登場した分、資産・ノウハウが貯まっているところが多い。

733 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:22:46 ]
感覚的には、新規の案件はVCよりC#のほうが多いような気がしたけど、
求人サイトで、C++とC#で検索してみたら、まだC++のほうが多かったな。


734 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:24:43 ]
C++と比較したの?それともVC++と比較したの?
C++だけだと、LinuxとかUnixとか組み込みとかあるよ。

735 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:25:27 ]
C#でもWeb系ってたまにないか?



736 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:29:21 ]
>>735
aspで、イントラ作ろうって案件だと、C#かVBだしな。

737 名前:デフォルトの名無しさん [2009/01/27(火) 00:37:49 ]
>>732
その割には使えるコントロールが全くないじゃないですか?
しかも、Viewって一つしかないし・・・

738 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:45:22 ]
>>737
Viewは複数あるじゃん。

739 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:47:41 ]
>>737
コントロールは増えてないってだけでしょ。
MSはVC向けにはわざとそういう便利なライブラリを出さないんだろうね。
おらおらおらおらおらおらおらおらおらおら!!!!!!
さっさとドットネットにいきやがれこんちくしょーーーーーー!!
ってことですね。

おっとつい興奮していつの間にかCapsLockがONになってた

740 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:49:02 ]
>>729
遅スレだけれどmain関数の中を

int main(void)
{
struct pair pair1;

pair1.first = 0;
pair1.second = 90;

swap(pair1.first,pair1.second);


printf("first=%d,second=%d\n",pair1.first,pair1.second);

return 0;
}

と、書いてみた。

駄目だった…。ちょっと思考錯誤してきます。

741 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:51:47 ]
>>739
90年代はActiveXの時代だった。
どっちかというと、VBで使うのが主流だったと思うけど。

742 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:52:33 ]
>>740
pair = swap(1, 2);


743 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 00:55:12 ]
>>741
ここで言っているコントロールってActiveXのことなん?
もしそうならVCでも使えるんじゃね?

744 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 01:10:28 ]
>>742
サンクスです。構造体に入れるのを忘れるとは…お恥かしい。
面倒な質問だったと思いますが最後まで有難う御座います。

これでひのきのぼうを装備してスライムが倒せそうです。

745 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 02:32:06 ]
>>743
使えるけど、たしか標準ではメニューに入っていないでしょ。



746 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 07:43:04 ]
基本的にはWindows標準のものだけ扱うからね。
でも2008SP1でごっそり増えたじゃない、C#にもまだないようなのが。
まあこれらもWindowsに標準で組み込まれる予定だけど。

747 名前:デフォルトの名無しさん [2009/01/27(火) 18:29:11 ]

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{/*ウインドウクラス構造体の設定*/
HWND hDlgWnd;
//ダイアログボックスを表示します
hDlgWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)DlgWndProc);
ShowWindow(hDlgWnd, SW_SHOW);
UpdateWindow(hDlgWnd);
//戻り値を返す
return 0;
}
このようにモードレスダイアログを表示する関数を宣言しているのですが、一瞬表示されてすぐに消えてしまいます。
どこがおかしいのでしょうか?
ここの記述がおかしいのかはわかりませんが、ご検討をお願いします。


748 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:39:15 ]
>>747
モードレスダイアログは普通のウィンドウのようにメッセージループが必要。

749 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 18:43:08 ]
UpdateWindow呼んだあとreturnしちゃってるからな。

750 名前:デフォルトの名無しさん [2009/01/27(火) 19:46:16 ]
747です。返信遅れてすみません。
では、WinMainの中に記述してはいけないということでしょうか?
今からいろいろやってみますが、かなりの初心者なので少しヒントを下さい。
お願いします!

751 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 19:58:16 ]
>>750
メッセージループっていってんだから
メッセージループでググレよウンコ

752 名前:デフォルトの名無しさん [2009/01/27(火) 20:15:28 ]
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{ WNDCLASSEX wcex; //ウィンドウクラス構造体
HWND hDlgWnd;
   MSG msg;
ghInst = hInstance;
/*ウィンドウクラス構造体を設定*/
//ダイアログボックスを表示します
hDlgWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)DlgWndProc);
ShowWindow(hDlgWnd, SW_SHOW);
UpdateWindow(hDlgWnd);
while (GetMessage(&msg, NULL, 0, 0) > 0) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (int)msg.wParam;
//戻り値を返す
}
という風に書き直したらできました。しかし、このソースおかしいぞと思われたらレスください。
748,749,751さんどうもありがとうございました。



753 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 20:36:45 ]
なんでageてんの?

754 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 22:23:39 ]
VC#みたいな補完機能はないのでしょうか?
毎回Ctrl+Spaceするのはめんどくさいですしセミコロン打っても自動で文字間隔とかを調整してくれませんし不便で仕方ないです
補完でこのスレを抽出するとないと言われていますがそんな馬鹿なことはないですよね?

755 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:12:01 ]
ない



756 名前:デフォルトの名無しさん [2009/01/28(水) 00:07:12 ]
VC++にはWPFがないのはなぜ?

もしかして、見放された?



757 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 00:20:17 ]
お前はC++を何だと思ってるんだ
アーキテクチャ考えれば無いのは当たり前

758 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 00:38:43 ]
>>755
そうですか・・・ありがとうございました

759 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 00:40:33 ]
つまり.NETに移行するって事は標準の言語ではなく
マイクロソフトのツールを使わせる戦略なの。
マイクロソフトにとってオープンソースや標準というものは金儲けの邪魔なのだ。
もちろん自分が好き勝手に決められる標準なら大好きだ。

760 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 01:01:13 ]
>>756
なんかのインタビューでC++はそういう用途のものじゃないから、って言っていた気がするが
見つけらんなかった。すまん。

761 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 02:19:59 ]
>>759
マイクロソフトの戦略というのは確かだが、
何でもかんでも決め付けるはどうかと

762 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 10:09:07 ]
>>739
MFCフューチャーパックなるものがリリースされて、
コントロールが10年ぶりくらいに刷新されたと聞いたけど、
あれ、どうなんだろう?
VS2003使いだから、導入したくても導入できない

763 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:24:19 ]
VC++2005Standard Editionにはmicrosoft platform SDKは同梱されていますか?

764 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:40:56 ]
>>763
されてるよ


765 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 13:45:18 ]
>>764
ありがとうございます



766 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:23:17 ]
>>763-765
>>763-765


























ttp://www.microsoft.com/japan/msdn/vstudio/express/2005/visualc/usingpsdk/

ttp://www.microsoft.com/japan/msdn/vstudio/express/default.aspx

767 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 15:29:21 ]
>VC++2005Standard Editionにはmicrosoft platform SDKは同梱されていますか?

768 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:00:05 ]
>>766
ExpressじゃなくてStandardの話をしている


769 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 16:45:30 ]
>>762
あれはコントロールってレベルじゃない。
www.atmarkit.co.jp/fdotnet/special/vs2008sp1/vs2008sp1_02.html

770 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 22:23:57 ]
>>766
すごい赤っ恥だな 俺だったら軽く鬱になる

771 名前:デフォルトの名無しさん mailto:sage [2009/01/28(水) 22:47:54 ]
>>766みたいにオッチョコチョイの癖にカッコつけて言葉が少ない奴って
しょーもねー勘違いで、一人で変な方向に突っ走ってプロジェクトの火種くすぶらせるんだろーな。


772 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 10:47:04 ]
江戸っ子なんだろうw

773 名前:デフォルトの名無しさん [2009/01/29(木) 11:37:35 ]
アプリケーション開始とともにモードレスダイアログを2つ起動させたいのですが、どのような記述をすればいいのかがわかりません。
インスタンスハンドルが2つ必要なのでしょうか?
さっぱり分からないのでお願いします

774 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 11:39:29 ]
1個はできてるの?
ためしに、単にCreateDialogを2回呼んでみては。

775 名前:デフォルトの名無しさん [2009/01/29(木) 12:07:05 ]
1個は表示されてます。
hDlgWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)DlgWndProc);
hDlg = hDlgWnd;
ShowWindow(hDlgWnd, SW_SHOW);
UpdateWindow(hDlgWnd);

while (GetMessage(&msg, NULL, 0, 0) > 0) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
ghInst = (HINSTANCE)GetWindowLong( hDlg , GWL_HINSTANCE ) ;
//ghInst = GetModuleHandle(NULL) ;
hDlgWnd2 = CreateDialog(ghInst, MAKEINTRESOURCE(IDD_DIALOG2),hDlg,(DLGPROC)DlgWndProc);
hDlg2 = hDlgWnd2;
ShowWindow(hDlgWnd2, SW_SHOW);
UpdateWindow(hDlgWnd2);
while (GetMessage(&msg2, NULL, 0, 0) > 0) {
TranslateMessage(&msg2);
DispatchMessage(&msg2);
}

return (int)msg.wParam;

}

このように記述しています



776 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 12:11:07 ]
何でメッセージループが複数あるのさ。
同時ならループの前で2回作れ

777 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 12:16:40 ]
メッセージループの何たるかを知らずにコピペでプログラムを作る人間か…

778 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 12:18:21 ]
hDlgWnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1),NULL,(DLGPROC)DlgWndProc);
hDlg = hDlgWnd;
ShowWindow(hDlgWnd, SW_SHOW);
UpdateWindow(hDlgWnd);

ghInst = (HINSTANCE)GetWindowLong( hDlg , GWL_HINSTANCE ) ;
hDlgWnd2 = CreateDialog(ghInst, MAKEINTRESOURCE(IDD_DIALOG2),hDlg,(DLGPROC)DlgWndProc);
hDlg2 = hDlgWnd2;
ShowWindow(hDlgWnd2, SW_SHOW);
UpdateWindow(hDlgWnd2);
while (GetMessage(&msg, NULL, 0, 0) > 0) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return (int)msg.wParam;
//戻り値を返す
//return 0;
}

このように記述したらダイアログ2つともでました!
ですが、2つめのダイアログの表示が1つめのレイアウトとかぶってしまいました。色とか線が2つめのダイアログにも影響を与えています。


779 名前:デフォルトの名無しさん [2009/01/29(木) 15:50:33 ]
Webブラウザコントーロールのバージョンはいくつになるんですか?
自分のマシンにIE7が入っていればIEコンポーネントを埋め込んだアプリを起動したときIE7として起動するんですか?

780 名前:778 mailto:sage [2009/01/29(木) 16:00:51 ]
解決しました。お答えくださったかたがたありがとうございました。

781 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 16:08:31 ]
どうでもいいけど、GetMessageが0以外の値として-2以下を返すときってないの?

782 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 16:19:34 ]
それより

警告 GetMessage 関数は、0 以外の値、0、-1 のいずれかを返します。したがって、次のようなコードは避けてください。

while (GetMessage(lpMsg, hWnd, 0, 0)) ...

と書いてるくせにVisual C++の自動作成されたやつはしっかりそうなっているという矛盾


783 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:26:06 ]
long long型の数値を入力するときは、
VC++ではfgets→atollができないので、
scanfを使うしかないのでしょうか?

784 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:30:17 ]
long long atoll(char *str){
long long result = 0;
int negative=0;

while (*str == ' ' || *str == '\t')
str++;
if (*str == '+')
str++;
else if (*str == '-') {
negative = 1;
str++;
}

while (*str >= '0' && *str <= '9') {
result = (result*10) - (*str++ - '0');
}

return negative ? result : -result;
}


785 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:30:56 ]
>>784
ありがとうございます。
ぐへへへへ、これであんなことやこんなことができる。



786 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:33:25 ]
_atoi64

787 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:36:17 ]
>>785
何だか分からんが
とりあえず通報しておいた

788 名前:デフォルトの名無しさん mailto:sage [2009/01/29(木) 21:56:38 ]
なぜか負になる不思議!

789 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 00:46:27 ]
すまん、ホリデーってなん曜日だったっけ?

790 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 01:24:22 ]
給料日だよ

791 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 06:55:22 ]
俺は毎日がホリデイ

792 名前:デフォルトの名無しさん [2009/01/31(土) 04:49:26 ]
CreateWindow()でNULLが返るのですが、どうやってデバッグすればよいですか?
(どの変数がおかしいのか、とか、、)

793 名前:デフォルトの名無しさん [2009/01/31(土) 04:54:41 ]
テンパってます。助けてぇ〜

794 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 05:01:11 ]
CreateWindowにブレークポイント設定してそこまでの変数が
期待通りの値になっているか確認したら
うまいやり方は玄人が来るまで待て

795 名前:デフォルトの名無しさん [2009/01/31(土) 05:10:14 ]
794
ありがと。それはやってるけど、何が正常なのかよくわからないです。
理由を



796 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 05:29:15 ]
CreateWindowから前の命令についてMSDN引きながら
どういう値が戻るのか、渡すのが正しいのか確認しなよ
それも出来ないならエスパーが来るまで2時間程寝たら?
今のテンパってる状態では何かやってもうまくいかないさ

797 名前:デフォルトの名無しさん [2009/01/31(土) 05:35:25 ]
<例>cin >> a >> b >> c;
scanfを使って一行で表すにはどうしたらいいですか?






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

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

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