■過去ログ置き場に戻る■ 1- 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

★初心者にVisual C++を教えるスレ★ Part22
1 名前:デフォルトの名無しさん :2005/11/08(火) 18:48:04
1 : ◆Manna2uCLg :2005/04/15(金) 13:33:14
Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

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

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

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

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


2 名前:デフォルトの名無しさん :2005/11/08(火) 19:11:35
【過去スレ】
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/
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

3 名前:デフォルトの名無しさん :2005/11/08(火) 19:43:37
  _  ∩
( ゚∀゚)彡 おっぱい!
 ⊂彡
     _  ∩
   ( ゚∀゚)彡 おっぱい!
    ⊂彡
        _  ∩
      ( ゚∀゚)彡 おっぱい!
       ⊂彡

4 名前:デフォルトの名無しさん :2005/11/08(火) 20:00:21
【関連スレ】
■MFC相談室 mfc14d.dll■
http://pc8.2ch.net/test/read.cgi/tech/1121200124/l50
Win32API質問箱 Build36
http://pc8.2ch.net/test/read.cgi/tech/1128951330/
鬱だ氏のう DirectX (Part 15)
http://pc5.2ch.net/test/read.cgi/tech/1096649788/l50
C言語なら俺に聞け! Part 117
http://pc8.2ch.net/test/read.cgi/tech/1131282679/
C++相談室 part44
http://pc8.2ch.net/test/read.cgi/tech/1128512737/
C/C++の宿題を片づけます 52代目
http://pc8.2ch.net/test/read.cgi/tech/1130431335/
【初心者歓迎】C/C++室 Ver.20【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1121644782/l50

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

5 名前:デフォルトの名無しさん :2005/11/08(火) 20:01:47
【このスレの前身 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 名前:デフォルトの名無しさん :2005/11/08(火) 20:11:03
すまん、間違えた。
関連スレ修正
【初心者歓迎】C/C++室 Ver.22【環境依存OK】
http://pc8.2ch.net/test/read.cgi/tech/1128872687/

7 名前:デフォルトの名無しさん :2005/11/08(火) 21:47:03


8 名前:デフォルトの名無しさん :2005/11/10(木) 19:58:32
VC++.NET 2003 のWindowsフォーム アプリケーション(.NET) で
CAsyncSocketを使って通信のクライアント処理を作ろうとしていますが、

 CAsyncSocket socket;
 socket.Create();

で、socket.Create()の返り値が 0(異常終了) で返ってきます。
Windowsフォーム アプリケーション(.NET)では、CAsyncSocketは使えないのでしょうか?
また、Windowsフォーム アプリケーション(.NET)の通信の実装は、CAsyncSocketを使う以外に
あるのでしょうか?
知っている人がいれば、よろしくお願いいたします。

9 名前:デフォルトの名無しさん :2005/11/10(木) 20:09:45
おまえそれMFCだろうが

10 名前:デフォルトの名無しさん :2005/11/10(木) 20:39:55
>>9
VC++.NET 2003 の MFCベースの場合
socket.Create()の返り値が 1(正常終了)でした。
Windowsフォーム アプリケーション(.NET) の標準的なクライアント通信機能の
実装方法のご教示よろしくお願いいたします。

11 名前:デフォルトの名無しさん :2005/11/10(木) 20:51:22
>>10
自分でMSDN調べろや
それでも解らんかったらその時教えてやるよ

12 名前:デフォルトの名無しさん :2005/11/10(木) 23:12:48
なんだか、聞くのも怖いですが・・・

実家にあったMicrosoftVC++6.0 をインストールして、プログラミング勉強してみようと始めたんです

とりあえず、dialogを作ろうとしてリソースエディタで新規で作ったんです。
で、コントロールを足していこうとしてるんですけど、 コントロールボックスが出てきません。
解説サイトを見ても、コントロールボックスからbuttonとかeditboxとかを選んでるんですが、
その選ぶボックスがでてこないのは何でなんでしょうか? だれか教えてください。

13 名前:デフォルトの名無しさん :2005/11/10(木) 23:23:42
>>12
表示メニューからツール バーをON/OFFする項目を探すか、
ツールバーの開いているところで右クリックする。
メニューが出てくるから必要なツール バーにチェックを入れる。
ボックスみたいになっているが当然ツール バーの一種だ。

14 名前:デフォルトの名無しさん :2005/11/10(木) 23:24:24
ツールバーの上で右クリックして、リストの中にコントロールってあるからそれ選択してみな

15 名前:12 :2005/11/10(木) 23:31:16
>>13 >>14
早い反応でありがとうございます。
すぐ↑の質問への殺伐とした反応から こんな初歩(ってかソフトの操作法)を質問したら
どんなこと言われるかと思いましたw

>>14 のツールバー右クリックの方法で無事にボックスが現れました。解決です。

また勉強して、次はちゃんとプログラムについての質問できるように頑張ります。

16 名前:デフォルトの名無しさん :2005/11/11(金) 00:39:22
Microsoftから無償でダウソしたやつでやり始めました
クラスとか構造体とかまったくわかりません

17 名前:デフォルトの名無しさん :2005/11/11(金) 07:41:46
>>16
勉強してください。

18 名前:デフォルトの名無しさん :2005/11/11(金) 09:18:10
タブオーダについて教えてください。

タブオーダって1から順にクリックして決めますよね。
これって途中からできないんでしょうか。

たとえば、100個のコントロールを貼り付けたダイアログで、99と100を入れ替えたいだけの場合にも
1から順に100までぽちぽちクリックするのはあまりにもひどいですよね。

うまいやり方をご存知の方、よろしくお願いします。



19 名前:デフォルトの名無しさん :2005/11/11(金) 09:20:58
いったい何のタブオーダーだ


20 名前:デフォルトの名無しさん :2005/11/11(金) 09:33:08
メニューの 「書式 - タブオーダー」で設定するやつです。


21 名前:デフォルトの名無しさん :2005/11/11(金) 09:36:33
おまえ情報が少なすぎ
バージョンも使用フレームワークも書かんで何を察しろと言うのか

22 名前:デフォルトの名無しさん :2005/11/11(金) 10:00:06
Shift + クリック

#これくらい察すれば?

23 名前:デフォルトの名無しさん :2005/11/11(金) 10:03:15
あるフォルダの中にエクセルファイルが100個くらいあったとして
そのファイルの中身を一つ一つ検索かけて「ちんこ」って書いた行があるとしたら
その行を抽出して新たにそれをまとめたエクセルファイルを作るような
仕組みにしたいんですが、なにぶん初心者なもんでして
どういったあたりから手がけていったらいいのか・・・。
エクセルファイルの中身を見て検索するあたりがどうしたらいいのかが
わからんもんでして。便利な関数かなんかがあるんでしょうか?

24 名前:デフォルトの名無しさん :2005/11/11(金) 10:15:30
「ちんこ」でググレ

25 名前:23 :2005/11/11(金) 10:17:30
>>24
さっそくのレスありがとうございます!!








il||li _| ̄|○ il||li

26 名前:デフォルトの名無しさん :2005/11/11(金) 10:21:13
>>22

それです。
できました。
どうもありがとうございました。

27 名前:10 :2005/11/11(金) 15:05:40
>>11
フレームワークは、全然使い慣れていないので、
フレームワークを使わずに解決いたしました。

28 名前:WinXPにて :2005/11/11(金) 15:13:31
#include "stdafx.h"
#include <stdio.h>
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
BOOL bRet; STARTUPINFO si; PROCESS_INFORMATION pi; FILE* fpredir;
if (( fpredir = freopen("OUTPUT.txt", "w", stdout)) == NULL){
fprintf(stderr, "標準出力へのリダイレクトエラー\n");
}
ZeroMemory(&si, sizeof(si)); ZeroMemory(&pi, sizeof(pi));
si.cb = sizeof(si);
// コマンドウインドウを非表示にする
si.wShowWindow = SW_HIDE;
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpDesktop = NULL;
si.lpTitle = NULL;
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
si.cbReserved2= 0;
si.lpReserved2= NULL;
si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
si.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
si.hStdError = GetStdHandle(STD_ERROR_HANDLE);
// プロセスを起動する
bRet = CreateProcess(NULL, "ipv6.exe if", NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
if(0 == bRet){ // エラー}
Sleep(1000);
fclose(fpredir);
return 0;
}

"OUTPUT.txt"ファイルに"ipv6.exe if"の結果が出力されません。
ご指導よろしくお願いいたします。

29 名前:デフォルトの名無しさん :2005/11/11(金) 21:29:23
初心者です。環境はWin2kでVC++6.0proです。
WinAPIプログラミングを誠意勉強中です。

スタティックライブラリを使ってみようとしてるところです。
ライブラリにしたダイアログ(lib_test.lib)とリソース(lib_test.rc)を、リンクしようとしてます。

ヘッダ(lib_test.lib)をプロジェクトにもってきてインクルードして、
VC++のプロジェクトの設定から リンクするライブラリに lib_test.libを追加したんですが、

このlib_test.libとlib_test.rcは どこに置いたらいいんでしょうか?

プロジェクトファイルと同じディレクトリに置いたら
・外部シンボルが未解決
・外部参照が未解決      って出ました。
実行ファイルができるディレクトリ(debug版なので \Debug です)に置いたら
・入力ファイル(lib_test.lib)がオープンできません。   って出ました。

libファイル自体に変な属性(アクセスコントロールとか読取専用とか)はつけてません。
なのでオープンできないってのはリンカが見つけてないのかな・・・
どなたかご指南お願いします

30 名前:29 :2005/11/11(金) 22:10:59
ヘッダはlib_test.hでした。 エロイ人降臨期待age

31 名前:デフォルトの名無しさん :2005/11/11(金) 22:16:33
>>29
プロジェクトファイルと同じフォルダにlibなどを置くのが正解だと思う。
入力ファイル(lib_test.lib)がオープンできませんのエラーが出ませんということは、
リンカーはとりあえずLIBファイルを開けたということだから。

32 名前:デフォルトの名無しさん :2005/11/11(金) 22:46:53
> 入力ファイル(lib_test.lib)がオープンできませんのエラーが出ませんということは、
> リンカーはとりあえずLIBファイルを開けたということだから。

言ってることが意味不明。
>>29は 「入力ファイル(lib_test.lib)がオープンできません。   って出ました。」って言ってるが?


いちいちlibファイルをコピーするのは面倒だから、どこかlibの出力用ディレクトリを決めて、
そのディレクトリを参照するような設定にしとくのがいいかとおもうが。

33 名前:デフォルトの名無しさん :2005/11/11(金) 22:51:13
> 言ってることが意味不明。
> >>29は 「入力ファイル(lib_test.lib)がオープンできません。   って出ました。」って言ってるが?

言ってることが意味不明。
「実行ファイルができるディレクトリ(debug版なので \Debug です)に置いたら」って言ってるが?

34 名前:デフォルトの名無しさん :2005/11/11(金) 22:51:32
オープンできませんって言ってるのに開けたとかばかじゃね

35 名前:デフォルトの名無しさん :2005/11/11(金) 22:53:19
>>32
プロジェクトのディレクトリに置いた→シンボル・参照の未解決
debugに置いた→入力ファイルがオープンできません
と29は書いてあるだろ。
俺は入力ファイルが〜のエラーが出なかった前者にLibを置くのが良いと書いたまでだ。
入力が見つからないというのは論外だから。

36 名前:デフォルトの名無しさん :2005/11/11(金) 22:58:39
自分でlib作る前に既存のlibでビルドできるようになれ

37 名前:デフォルトの名無しさん :2005/11/11(金) 23:05:17
>>35
31の書き方がなんかおかしいだろ
> 入力ファイル(lib_test.lib)がオープンできませんのエラーが出ませんということは、
この書き方じゃ質問者が「エラーが出ません」と言ってるように聞こえるぞ

38 名前:デフォルトの名無しさん :2005/11/11(金) 23:15:48
LIBの使い方もしらないのにLIB作ってもしょうがないだろ

39 名前:デフォルトの名無しさん :2005/11/11(金) 23:17:36
>>29
>プロジェクトファイルと同じディレクトリに置いたら
>・外部シンボルが未解決
>・外部参照が未解決      って出ました。

この時点では

>VC++のプロジェクトの設定から リンクするライブラリに lib_test.libを追加したんですが、

この作業をしてなかったということはないよな。


40 名前:デフォルトの名無しさん :2005/11/12(土) 00:44:39
VCの開発環境が無い人でもプロジェクトに使用するデータの改変ができるように
外部のテキストファイル(test.txtとします)に5 7 10と書くと
VCプロジェクトのほうで実行時に変数xに5、yに7、zに10を代入するようなコードはどう書くのでしょうか?

41 名前:デフォルトの名無しさん :2005/11/12(土) 00:52:05
( ゚д゚)ポカーン

42 名前:島野 :2005/11/12(土) 01:18:08
SN比の求め方がわかりません。
pgmファイルの求め方がわかりませんのでプログラムお願いします。
/* SN比*/
g = 0.0;
f = 0.0;
for (y = 0; y <= ysize ; y++){
for (x = 0; x <= xsize ; x++){
g = g + a[x][y] * a[x][y];
f = f + (a[x][y] - b[x][y]) * (a[x][y] - b[x][y]);
}
}
h = 20 * log(sqrt(g/f));
printf(" %lf\n",h);
exit(0);
}
まではわかります
急いでます


43 名前:デフォルトの名無しさん :2005/11/12(土) 01:33:51
マルチポストにも程があるw

44 名前:29 :2005/11/12(土) 01:49:13
なんか、私の質問で荒れてしまってごめんなさい。
>>38
> LIBの使い方もしらないのにLIB作ってもしょうがないだろ

はい。まさにそのとおりなんですよね。
ライブラリつくるのって、汎用っぽいオブジェクトファイルをまとめたもの って解釈なんですが
まずここが間違ってますか?

>>36
>自分でlib作る前に既存のlibでビルドできるようになれ
既存のlibは、システムの標準ライブラリが入ってるところからリンクするんですよね?
それはビルドできます。

>>39
した後でした。
lib_test.lib自体が間違ってるんでしょうかね・・・

45 名前:29 :2005/11/12(土) 01:57:44
というか ネタバレすると
ttp://www7.plala.or.jp/keny01/windows/win32/#sub3-6  ここで順番通りやってみて
ライブラリを作るってので立ち止まってる状況です。

ライブラリを作るにあたってプロシージャが
WM_COMMANDのメッセージ処理で IDC_CHK_1を2回やってるのは違うなってくらいで
あとは一応書いてあるとおりにやってみてるんですが。  著者のコードミスも疑ってみたんですが、
.libがまず動いてみないと どうしようもないです。

実際のエラーメッセージは 以下

LINK : warning LNK4075: /EDITANDCONTINUE は /INCREMENTAL:NO の指定によって無視されます
static_test.obj : error LNK2001: 外部シンボル ""int __cdecl ShowSubDialog(struct tagConfData *)" (?ShowSubDialog@@YAHPAUtagConfData@@@Z)" は未解決です
Debug/statictest.exe : fatal error LNK1120: 外部参照 1 が未解決です。

46 名前:デフォルトの名無しさん :2005/11/12(土) 02:00:14
>>44
libを作るとき.cで。
.cppのやつにリンクとかじゃないよなぁ・・・

47 名前:デフォルトの名無しさん :2005/11/12(土) 02:07:33
えーと、ヘッダのインクルードガードより内を
#ifdef __cplusplus
extern "C" {
#endif

#ifdef __cplusplus
}
#endif
で囲む。で良いのかな?

48 名前:29 :2005/11/12(土) 02:38:11
>>47
プログラム自体は異常な動きですが、リンカは通りました。
多分解決です(あとはコーディングをチェックです^^;)
ありがとうございます。

>>46 >>47
えっと、C++(.cpp)はC(.c)で書いたLIBをリンクするときに変数の名前の変更をさせないオプションとして
extern "C"
と指示するようですね。
【参考URL】
ttp://www.med.osaka-u.ac.jp/pub/cl-comp/saito/cppintro/cppintro14.html
>>47さんのtipsはとても便利ですね。というか常識レベルなんでしょうね。     ものすごくありがとうございました。

49 名前:16 :2005/11/13(日) 00:40:46
C言語すら知らない俺がC++に手を出すのは無謀ですか?

50 名前:デフォルトの名無しさん :2005/11/13(日) 08:41:27
うん

51 名前:デフォルトの名無しさん :2005/11/13(日) 10:19:51
んなこたぁない

52 名前:デフォルトの名無しさん :2005/11/13(日) 11:01:38
たとえばいわゆるベターCの部分だったら実質Cと何も変わらない。

53 名前:デフォルトの名無しさん :2005/11/13(日) 11:04:55
質問です。
コンパイルしたexeファイルを実行しようとすると、
それに関連付けられた、テキストファイルなどは、
どうも、探すことができないようなのです。
同じフォルダで実行すると、大丈夫ですが、
プロジェクトを実行していた別のフォルダーで、実行させると、
テキストファイルを探すことができません。
皆さんは、どうされているのでしょうか

54 名前:デフォルトの名無しさん :2005/11/13(日) 11:08:58
>それに関連付けられた、テキストファイルなどは

意味不明。
勘で答えるとGetModuleFileName()。

55 名前:デフォルトの名無しさん :2005/11/13(日) 11:10:01
フルパスかカレントディレクトリ

56 名前:伝説新人タクシ :2005/11/13(日) 11:13:40
>>53
郵便配達を考えろ。地元の町なら「鈴木さんち」と言えば
場所がわかる。ところがただ「鈴木さんち」と言われても
見当もつかないだろう。だから、絶対パスか相対パスで
指定してやる。例) C:\WINDOWS\programfiles\a.txt

57 名前:デフォルトの名無しさん :2005/11/13(日) 12:05:59
>>53です
>>54-56さんありがとうございます。
フルパスで、できました。
詳しい説明まであり
皆様どうもありがとうございました。

58 名前:デフォルトの名無しさん :2005/11/13(日) 13:31:22
VC++って日本語のヘルプないの?

59 名前:デフォルトの名無しさん :2005/11/13(日) 13:36:04
アルヨ

60 名前:58 :2005/11/13(日) 13:45:01
>>59
どうやれば見れる?

61 名前:デフォルトの名無しさん :2005/11/13(日) 14:03:49
F1

62 名前:デフォルトの名無しさん :2005/11/13(日) 15:32:58
CreateWindow関数使おうと思って、パラメータヒントを見たら
nWidthはあるのにnHeightがありません。
仕様ですか?

63 名前:デフォルトの名無しさん :2005/11/13(日) 15:34:50
IDEのバグ

64 名前:58 :2005/11/13(日) 19:45:16
F1押すと英語のヘルプが出る

65 名前:デフォルトの名無しさん :2005/11/13(日) 19:48:31
>>64
ヒント: 英語を読む

66 名前:デフォルトの名無しさん :2005/11/13(日) 20:03:06
それヒント違っw

67 名前:デフォルトの名無しさん :2005/11/13(日) 20:17:04
ヒント:翻訳する

68 名前:デフォルトの名無しさん :2005/11/13(日) 20:41:55
>>58
ケース1:
日本語版をインストールする
ケース2:
英語版ヘルプのチェックボックスをはずす
ケース3:
志村!それエラーメッセージ!!

69 名前:58 :2005/11/13(日) 21:47:42
>>68
ケース2のやり方わがんね

70 名前:デフォルトの名無しさん :2005/11/14(月) 23:27:56
Visual C++でビルドしエラーがある場合は、エラーがある行数を指摘してくれるのですが、
作業画面に行数を表示させてくれることは可能なのでしょうか?

あと、特にエラーがなくてもたまにビルドをし続けてそのまま止まってしまうという事が
多いような気がしますがコンパイラ(Visual C++だけ?)とはそのようなものなのでしょうか?

初心者といってもいいわけにしかならない事は十分承知の上ではありますが、最近はじめたばかりという事もあり
自分なりにいろいろ調べてみてもわからないので質問させて頂きました。

71 名前:デフォルトの名無しさん :2005/11/14(月) 23:45:59
>Visual C++でビルドしエラーがある場合は、エラーがある行数を指摘してくれるのですが、
>作業画面に行数を表示させてくれることは可能なのでしょうか?
可能です。しかしエラーメッセージをダブルクリックすると自動的に
エラー発生地点にジャンプしてくれるので行数表示してない人が多いようです。
ときたま指定行にジャンプしたいときはCTRL+Gを使うのが楽でしょう。

>あと、特にエラーがなくてもたまにビルドをし続けてそのまま止まってしまうという事が
>多いような気がしますがコンパイラ(Visual C++だけ?)とはそのようなものなのでしょうか?
そのようなものではありません。今のPCが購入して4年以上なら買い替え時です。


72 名前:デフォルトの名無しさん :2005/11/15(火) 05:36:47
自分は70じゃないですが、行番号を表示させたいけど操作がわかりません。

>>71
>一応可能です。

[ツール]-[オプション]-[エディタ]タブ あたりにチェック項目があると思ったのですが 見当たらないです。
どこから操作すれば表示できるのでしょうか?Ctrl+Gでもいいのですが、そんな大規模なコードじゃないので
行番号を表示させていたほうが、(今のところ)便利なもので。

73 名前:デフォルトの名無しさん :2005/11/15(火) 06:11:17
行番号は可能な場合と不可能な場合が(ry

74 名前:デフォルトの名無しさん :2005/11/15(火) 06:33:45
どんな場合は表示できて、どんな場合は表示できないんですか?

75 名前:デフォルトの名無しさん :2005/11/15(火) 08:24:04
>>71
>そのようなものではありません。今のPCが購入して4年以上なら買い替え時です。
VC++.NETしか知らない人はお帰りください
たぶん>>70はVC++6.0じゃろ

76 名前:デフォルトの名無しさん :2005/11/16(水) 00:30:03
Microsoft Visual C++ .NETなんですが、
コンパイルすると
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(222) : error C2146: 構文エラー : ';' が、識別子 'PVOID64' の前に必要です。
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(222) : error C2501: 'PVOID64' : 識別名を宣言するのに、型が指定されていません。
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(5940) : error C2146: 構文エラー : ';' が、識別子 'Buffer' の前に必要です。
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(5940) : error C2501: '_FILE_SEGMENT_ELEMENT::PVOID64' : 識別名を宣言するのに、型が指定されていません。
c:\Program Files\Microsoft Platform SDK\Include\WinNT.h(5940) : error C2501: '_FILE_SEGMENT_ELEMENT::Buffer' : 識別名を宣言するのに、型が指定されていません。
というエラーが発生します。
どうしたらなおるでしょうか?
再インスコは無しで。

77 名前:デフォルトの名無しさん :2005/11/16(水) 00:49:03
#include <windows.h>
してる行より上で

あやしいヘッダーをinclude してたり
あやしい定義があったりするとか。

78 名前:デフォルトの名無しさん :2005/11/16(水) 07:54:50
再インスコしる

79 名前:デフォルトの名無しさん :2005/11/16(水) 08:07:08
>>75
あなたの意見をみると安定度は
VC++.NET>>>>>VC++6.0
ということでOKなのかな?

実際は同じくらいじゃね?

80 名前:デフォルトの名無しさん :2005/11/16(水) 09:57:52
VBから利用できるOLEオブジェクトがVCから利用できません。
VBからは参照設定とか一切しないで下記のコードで動きます。
Dim obj as Object
Set obj = CreateObject("Hoge.Document")
obj.Property = "test"
obj.Function()
OLEを提供しているアプリケーションはHoge.exe, Hoge1.ocx Hoge2.ocxといった構成です。

VCで「タイプライブラリからクラスの追加」でHoge1.ocxやHoge2.ocxからスタブクラスを生成しても
VBのソースで参照しているプロパティやメソッドが抽出されません。
僕はHoge.exeにこれらプロパティが含まれている気がしてならないのですが
VCで「タイプイブラリからクラスの追加」でHoge.exeを選択すると、
「LoadTypeLibでエラーが発生しました。指定されたファイルがタイプライブラリではない可能性があります。」と出ました。
でもVBのソースを実行するとタスクマネージャのプロセス一覧でHoge.exeが立ち上がっているんですよね。
regeditでProgIDが"Hoge.Document"を検索すると下記のエントリが見つります。
マイコンピュータ\HKEY_CLASSES_ROOT\CLSID\{0000-0000-0000} <- 実際はクラスID
InprocHandler32 REG_SZ ole32.dll
LocalServer32 REG_SZ Hoge.exe
ProgID "Hoge.Document"
VC付属のOLE Viewで上記のプロパティやメソッドを持つタイプライブラリを探したのですが見つかりませんでした。
なにか別のやり方があるのでしょうか?それともVCから利用することは無理なんでしょうか?

81 名前:デフォルトの名無しさん :2005/11/16(水) 18:35:49
GetRTTAndHopCount 関数について教えてください。

以前に作成したソケット関連のモジュールで、GetRTTAndHopCount関数を
使用しているのですが、WindowsXP SP2でそのモジュールを試したところ
GetRTTAndHopCount関数でフリーズしてしまいます。
何分待てども帰ってきてくれません。
SP2以前のOSでは、正常に返ってきてくれます。

どうやらネットワーク上に存在しないIPアドレスを指定するとフリーズしてしまうみたいです。
SP2以前の環境では、なんともなかったので、SP2でこの関数に手を加えられたのかと思いぐぐってみましたが、
見つけられませんでした。

環境は、VC++6.0 です。

長いので余計なコードは省略しています。(cHostNameがIpアドレス)

IPAddr  DestIpAddress;
ULONG HopCount;
ULONG MaxHops = 64;
ULONG Rtt;

DestIpAddress = inet_addr(cHostName);
GetRTTAndHopCount(DestIpAddress, &HopCount, MaxHops, &Rtt);

SP2環境でGetRTTAndHopCount関数を使用してこの現象を回避できないのでしょうか?
使い方が変わったのでしょうか?
また、参考になるサイトなどあればお教えください。よろしくおねがいします。


82 名前:デフォルトの名無しさん :2005/11/16(水) 19:49:44
>>80
VBのObject型はC++ではIDispatchに相当するので、
最悪でもIDispatchからプロパティやメソッドを呼び出すラッピングクラスを自分で作れば絶対にできる。
#そこには果てしない棘の道が待ち構える。

83 名前:デフォルトの名無しさん :2005/11/17(木) 00:36:11
>>82
VBでActiveX DLLを書いてVC++アプリとOLEオブジェクトの間のプロキシー役をさせることにしました。これが一番手っ取り早かったので。
本当はVCのみで実現したかったのですが棘の道はイヤだったので諦めました。レスどうもです。

84 名前:デフォルトの名無しさん :2005/11/17(木) 01:16:48
>>83
中々賢明な手段ではないか。

85 名前:デフォルトの名無しさん :2005/11/17(木) 03:50:38
自分の実行ファイルのForm1のハンドルを取得して色々したいのですが、
↓以外にいい方法はありませんか?

SendMessage(GetForegroundWindow(), WM_SYSCOMMAND, SC_MOVE | 2, 0);

86 名前:デフォルトの名無しさん :2005/11/17(木) 03:52:37
吹いた

87 名前:デフォルトの名無しさん :2005/11/17(木) 08:45:06
アホ過ぎる

88 名前:81 :2005/11/17(木) 12:35:27
いろいろと検証してみたので報告とまた質問をさせてください。

>ULONG MaxHops = 64;
と、書いていましたが実は200でした。

どうやら最大ホップカウントを変えるとタイムアウトに差がでるようです。
しかし、Win2k、XP(SPなし)で行ってみた結果、最大ホップカウントが、30でも200でも
約5秒でタイムアウトしてました。
SP2の場合は、30では約2分半。200では約17分というかなりの差がでました。

この状況はなにが原因でOSで差がでるかまったく検討つきません。
ぐぐってみてもOS(SP2)について書いてあるサイトを見つけられませんでした。

なぜSP2ではこんなに差が出るのでしょうか?
また、参考になるサイトなどあればお教えください。よろしくおねがいします。

89 名前:81 :2005/11/17(木) 15:08:33
>>81 >>88

自己解決しました〜
DLLのバージョンが違っていたので仕様が変わったのだと判断しました。

スレ汚しすんませんでした

90 名前:デフォルトの名無しさん :2005/11/17(木) 17:37:54
質問です。
コンボボックスで、ドロップダウンされたリストから選択した後、
選択したものと異なる文字列をエディットボックス部分に表示させるには、
どうしたらよいですか?

リストの中から、「apple」を選ぶと、「りんご」とエディットボックス部分に表示させたいのです

91 名前:デフォルトの名無しさん :2005/11/17(木) 17:49:40
エディットボックスに文字列を設定すればよろしいかと。

92 名前:90 :2005/11/17(木) 18:10:12
>>91
リストを選択「CBN_SELCHANGE」のタイミングで文字列を書き換えても、
コンボボックスの制御で、すぐに選択リストの文字列にされちゃうんです・・・

93 名前:デフォルトの名無しさん :2005/11/17(木) 18:16:39
CBN_EDITUPDATEではどう?

94 名前:デフォルトの名無しさん :2005/11/17(木) 18:50:10
VK_AやVK_Bってどこかに定義されてないの?
VK_TABとかはwinuse.hにあるんだが、VK_0〜9、VK_A〜Zがどこにあるか分からん

95 名前:デフォルトの名無しさん :2005/11/17(木) 18:52:45
winuser.hだ

96 名前:デフォルトの名無しさん :2005/11/17(木) 19:09:57
>>94
たしかVB限定。
0〜9、A〜Zの仮想キーコードはASCIIコードの値と同じ。
C/C++では直接'A'や'B'と文字定数を書けば済むので定義されていないのだと思う。

97 名前:デフォルトの名無しさん :2005/11/17(木) 19:34:36
C++Builderから移住してきました。
なんか使いにくいです。
本当にありがとうございました。

98 名前:デフォルトの名無しさん :2005/11/17(木) 19:41:54
>>94,96つーか、そのwinuser.hのVKのとこにその旨表記してありますがね

99 名前:デフォルトの名無しさん :2005/11/17(木) 19:43:03
シラネーヨ、つーか常識

100 名前:90 :2005/11/17(木) 21:33:07
>>93
それも駄目でした・・・

101 名前:90 :2005/11/17(木) 21:41:08
オーナードローしかないですかね・・・><

102 名前:デフォルトの名無しさん :2005/11/17(木) 21:44:45
エディットボックス部分をサブクラス化してWM_SETTEXTメッセージが来た時に
書き換えればいいんじゃない?

103 名前:デフォルトの名無しさん :2005/11/18(金) 00:02:52
>>90
CBN_SELCHANGEでいいと思うが?

104 名前:90 :2005/11/18(金) 00:15:10
>>102
エディットボックスにWM_SETTEXTが飛んで来ませんでした・・・
(サブクラス化は知りませんでした)

>>103
void xxx::OnCbnSelchangeComboExpand(){
   m_combo.SetWindowText("りんご");
}

じゃ駄目っぽいです。。。

105 名前:デフォルトの名無しさん :2005/11/18(金) 01:00:22
はじめまして。
CSimpleStringTのGetLength()とstrlenの動作の違いではまっています。
過去にも
79 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 09:11
CStringってstrlenで調べるとちゃんとした値が出るのに、
GetLengthだとたまに変な値が帰ってくるのは何故?
特に400byteとか大きな文字列を入れているとき起こりやすいような。

80 名前: デフォルトの名無しさん 投稿日: 2001/05/20(日) 12:12
>>79
GetLength()がNUL文字までの文字長を返すわけではないからです。
文字列バッファの前方に長さ等を保持しているんですが、詳細は
MFCのソースを読んでください。

と言うのがあったようですが、GetLengthのソースって
int GetLength() const throw()
{
return( GetData()->nDataLength );
}
↑ですか?どうしてこの二つは動作が異なるのでしょうか。
GetLengthを使うのはまずいのでしょうか。
よろしくお願いします。


106 名前:デフォルトの名無しさん :2005/11/18(金) 01:04:43
>>105
その違いが問題になるような最低限のソースを貼ってみるといいかもしれない。

107 名前:105 :2005/11/18(金) 01:32:50
すみません。
会社じゃ2chに書き込みできないのでソースを持って帰ってきます。

それにしても普通は同じように動く…。ん。ポインタの問題かもしれないですね。
確認してみます。失礼しましたm(__)m

108 名前:デフォルトの名無しさん :2005/11/18(金) 04:58:01
Win32、これは事件だ!

109 名前:デフォルトの名無しさん :2005/11/18(金) 13:34:44
すみません、CTreeCtrlに大量にアイテムを追加したいのですが、
VBみたいに BeginUpdate 〜 EndUpdateみたいに、高速化でき
ないんでしょうか。1000アイテムくらいでも、あまりにも遅くて。

コンパイラはVC6.0です。よろしくお願いします

110 名前:デフォルトの名無しさん :2005/11/18(金) 13:38:49
できます。

111 名前:デフォルトの名無しさん :2005/11/18(金) 14:32:50
どうやってでしょうか?

112 名前:デフォルトの名無しさん :2005/11/18(金) 15:30:57
>>109
ぐぐったらモノは違うけど、こんなの見つけた。
ttp://forums.belution.com/ja/vc/000/075/69.shtml

113 名前:デフォルトの名無しさん :2005/11/18(金) 16:22:01
あ、ありがとうございます。>>112
まだ遅いけど、前よりはずいぶん早くなりました。
助かりました。

114 名前:デフォルトの名無しさん :2005/11/19(土) 15:11:43
すいません
質問です

eMbedded Visual Tool 3.0をインストールすると
次の画像にあるエラーが出てしまいインストールが強制終了してしまいます。
http://f42.aaa.livedoor.jp/~imawaka/imgboardphp/src/1132379880306.jpg

なぜなのでしょうか?

115 名前:デフォルトの名無しさん :2005/11/20(日) 09:58:29
>eMbedded Visual Tool 3.0をインストールすると
>次の画像にあるエラーが出てしまいインストールが強制終了してしまいます。

インストールする→インストールしようとする
インストールが強制終了→インストーラが強制終了

という解釈で宜しいか?

116 名前:114 :2005/11/20(日) 17:13:31
>>115
OKです

117 名前:デフォルトの名無しさん :2005/11/20(日) 17:25:29
>>116
想像の域を出ませんが、空白を含むディレクトリ名を対象としていませんか?
或いはそのようなディレクトリで作業していませんか?

118 名前:デフォルトの名無しさん :2005/11/20(日) 20:48:43
そうです山脈

119 名前:デフォルトの名無しさん :2005/11/21(月) 18:33:01
int a = Int32::Parse(textA->Text);
これを実行してtextAっていう入力ボックスから取得した文字列を整数に変換するとき
中身がヌルだとエラー出るんですがどう回避したらいいですかね

120 名前:デフォルトの名無しさん :2005/11/21(月) 18:45:25
何かと思ったら、managedか・・・

121 名前:デフォルトの名無しさん :2005/11/21(月) 18:53:55
>>119
中身がヌルだったらParse()を呼ばなければいい。
中身がヌルかどうかの判定は自分で探してくれ。

122 名前:デフォルトの名無しさん :2005/11/21(月) 20:23:53
if ( textA->Text != NULL )
int a = Int32::Parse(textA->Text);

ってやってみたけどどうもうまくいきません。
!= ""もやってみたんだけどなぁorz

123 名前:デフォルトの名無しさん :2005/11/21(月) 20:35:17
文字列の長さでも判定しる

124 名前:デフォルトの名無しさん :2005/11/21(月) 20:56:00
どうでもいいけど、アンマネードならGetDlgItemIntがあるのにな。

125 名前:デフォルトの名無しさん :2005/11/21(月) 21:31:12
アンマネージドでも関係無いだろそれ

126 名前:デフォルトの名無しさん :2005/11/22(火) 07:31:22
>>122
通報しますた。


127 名前:デフォルトの名無しさん :2005/11/22(火) 07:50:40
直前にブレークしかけて、値がどうなってるのかみてみたら?

128 名前:デフォルトの名無しさん :2005/11/22(火) 09:23:22
質問です。Visual studioのテキストエディタにて、カーソル位置から文字を打つと全て上書きされてしまいます。
文字を打ったらきちんと押し出しして欲しいのですが・・

設定の方法がわかりません。助けて下さい

129 名前:デフォルトの名無しさん :2005/11/22(火) 09:26:55
>>128
上書きモードになってるんじゃないかな。
Insertキーで挿入モードに切り替わるよ。

130 名前:デフォルトの名無しさん :2005/11/22(火) 09:45:10
>>129さん
トンクスです

131 名前:デフォルトの名無しさん :2005/11/22(火) 10:50:02
Visual Studio .net 2003を使っているのですが、
それで作ったhoge.exeを他のpcに持っていって実行すると、MFC71.dllとmsvcr71.dllがないと怒られて実行できません。
仕方がないので、MFC71.dllとmsvcr71.dllをコピーしてやったら実行できました。

こういうのっておそらくうまい処理の仕方があると思うのですが、どうやるのでしょうか?

ご教授のほどよろしくお願いします。

132 名前:デフォルトの名無しさん :2005/11/22(火) 10:51:38
いつからここは「ぱそこん」初心者に教えるスレになりましたか。

133 名前:デフォルトの名無しさん :2005/11/22(火) 11:08:53
ずいぶん昔からです

134 名前:デフォルトの名無しさん :2005/11/22(火) 12:20:41
(数値地図から)200×200の数の行列?を読み込まし、iと、i+1と、j、 j+1で四点をとり、その4点の一番大きい値から小さい方へいくプログラムがつくれません
参照できるサイトありますか?わかる人いますか?ヒントください><
もう三ヶ月悩んでます、助けて
馬鹿な為ほんとプログラムわからないんです


135 名前:デフォルトの名無しさん :2005/11/22(火) 12:31:57
>>131
プロジェクトメニュー → プロパティ → MFCの使用「スタティック ライブラリでMFCを使用する」
Standard版にもスタティックライブラリが使えたかどうかは不明・・・

136 名前:デフォルトの名無しさん :2005/11/22(火) 12:34:06
>>134
日本語でおk

137 名前:デフォルトの名無しさん :2005/11/22(火) 12:55:13
>>134
>その4点の一番大きい値から小さい方へいく
なにが行くのかね。

138 名前:137 :2005/11/22(火) 12:56:48
なんだマルチか_/ ̄|○
http://pc8.2ch.net/test/read.cgi/tech/1132102992/285

139 名前:134 :2005/11/22(火) 16:36:43
矢印(ベクトル↑)をその、四点の一番高いとこから低い所へと次々と書くようなプログラムです、なんか説明するのも下手ですみません。

140 名前:デフォルトの名無しさん :2005/11/22(火) 16:41:27
>>139
小学校からやり直せ。

141 名前:デフォルトの名無しさん :2005/11/22(火) 18:47:58
>>131
135の方法で静的リンクにするのが嫌なら131で言った元の状態で良い。
mfc71.dllやmsvcr71.dllはEXEと一緒に再配布できる(というよりしなければならない)。
(そのままEXEと同じフォルダに置いておくこと)

142 名前:デフォルトの名無しさん :2005/11/24(木) 21:59:24
Visual Studioでネットワークプログラミングを勉強しているのですが、
・Winsock
・MFCのCAsyncSocketクラス
の2つがあるとわかりました(違ったらごめんなさい・・・)

初心者はどちらを使用して勉強したほうがよいのでしょうか?

143 名前:デフォルトの名無しさん :2005/11/24(木) 22:00:28
「初心者」なら止めてください

144 名前:デフォルトの名無しさん :2005/11/24(木) 22:02:44
WinInetにしとけ

145 名前:デフォルトの名無しさん :2005/11/24(木) 23:00:02
CInternetSession

146 名前:デフォルトの名無しさん :2005/11/24(木) 23:02:22
CHttpConnection

147 名前:デフォルトの名無しさん :2005/11/25(金) 01:54:54
新しいダイヤログを開く際に、
座標指定をすることは可能ですか?

148 名前:デフォルトの名無しさん :2005/11/25(金) 06:14:46
はい

149 名前:デフォルトの名無しさん :2005/11/25(金) 07:34:59
>>142
WinSock or WinSock2

150 名前:デフォルトの名無しさん :2005/11/25(金) 08:05:37
「初心者」なら止めてください

151 名前:デフォルトの名無しさん :2005/11/25(金) 09:14:13
>>142
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/articles/csocket.html

152 名前:デフォルトの名無しさん :2005/11/25(金) 11:33:56
「初心者」なら止めてください

153 名前:デフォルトの名無しさん :2005/11/25(金) 20:37:53
ちと教えてくださいませ
MFCでスレッドを使ったプログラム書いています。
DialogAppを書き換えたものでプログラム自体はWndクラスとAppクラスのみで動いてます。
そいでCXXApp::InitInstance()にてWindowを生成
生成後に
m_pThread = ::AfxBeginThread(ThreadProc, this) ;
AutoDeleteはfalseに設定
見たいな感じでスレットを開始しています。
呼び出されたスレッドでは
UINT CXXApp::ThreadProc(LPVOID pParam)
{
CXXApp*pApp = (CXXApp*)pParam ;
CWnd* pWnd = pApp->m_pMainWnd ;
while(pApp->m_isActive == true)
{
  pWnd->SetWindowText(FPSの数値) ; //ここが問題の場所です。
  描画処理
}
return 0 ;
}
これでとりあえずは意図した動作はしているのですが
閉じるときにAssertErrorが出てしまいます。
プログラムを閉じる際にExitInstanceにてループしながらスレッドの終了を待つように
しています。実際エラーは、スレッドが終える前に起きています。
SetWindowTextをコメントアウトすると出なくなるのでどうやらこれが問題みたいです。
その他の関数は問題ないみたいなんですがこれだけがどうしてもわからないです。
なにか特別な事が必要なんでしょうか?よろしくお願いしまう。

154 名前:デフォルトの名無しさん :2005/11/25(金) 20:51:49
MFCスレへどうぞ

155 名前:デフォルトの名無しさん :2005/11/25(金) 20:53:04
assertというのは何が悪いのか教えてくれるためにあるんだが

156 名前:デフォルトの名無しさん :2005/11/25(金) 21:24:23
>>154
移動します。
>>155
そうでした。良く見たらソースと行数が書いてありました。

157 名前:デフォルトの名無しさん :2005/11/25(金) 23:09:19
>assertというのは何が悪いのか教えてくれるためにあるんだが
>153が使うと、常に「あんたの頭」と表示されるとか?

158 名前:デフォルトの名無しさん :2005/11/25(金) 23:15:44
質問です。XP、.NET です。

かなり基本的で申し訳ないのですが・・・。
空のプロジェクトを作成し、リソースビューから「追加」→「リソースの追加」→「ダイアログ」としました。
ダイアログ作成画面になったのですが、ツールボックスのダイアログエディタを見ると、
「ポインタ」しかなく、ボタン、チェックボックス、などが全て灰色表示で選択でません。

何か根本的に間違っている気がしますが・・・よろしくお願いします。


159 名前:デフォルトの名無しさん :2005/11/25(金) 23:42:38
そのプロジェクトに限った現象なんだろうか

160 名前:158 :2005/11/26(土) 00:08:24
試しに、過去の他の適当なプロジェクトを開いてダイアログを作成すると、
きちんとボタンなどを貼り付けることができました。

プロジェクト作成時に何か設定ミスったのかもしれません。
もういちど作り直してみます。

161 名前:158 :2005/11/26(土) 00:12:43
連続ですみません。
新しく空のプロジェクトを作成すると、正常に動きました。
少々気持ち悪いですが、とりあえずはこのまま行って見ようと思います。ありがとうございました。

162 名前:デフォルトの名無しさん :2005/11/27(日) 13:08:32
質問させてください。
使ってるの環境はVC++6.0 SP6です。

#include<stdio.h>

int main(int argc, char *argv[])
{
printf("引数の数は%d個です。\n",argc);
printf("引数の値\n");
for(int i=0; i < argc; i++)
{
printf("%d %s\n",i, argv[i]);
}
return 0;
}

上のプログラムがコンパイル通りません。
forの中で int i と宣言してるのが嫌らしいのですが、できるはずですよね?
ためしにforの外でint i;
を宣言して、
int main(int argc, char *argv[])
{
int i;
(略)

for(i=0; i < argc; i++)
(略)
}
としたらちゃんと通りました。forの中でintを宣言するのは今まで何度もやってきたのですが、
今回にかぎってなぜかだめらしいのです。理由を教えてください。

163 名前:デフォルトの名無しさん :2005/11/27(日) 13:26:52
ファイルの拡張子が.cだったら.cppに変更してみる

164 名前:デフォルトの名無しさん :2005/11/27(日) 13:33:53
>>163
Σ(゚Д゚)
それで解決した。
そうか、、、for内で宣言できるのはC++からの仕様なんですか。
C++大学の授業とかでやって、最近Cをやりはじめたんでごちゃごちゃですorz

165 名前:デフォルトの名無しさん :2005/11/27(日) 13:39:49
>>164
forの初期化式での宣言はC99からの仕様
.cのままでやりたいなら、gcc使ってるなら -std=c99 でできる
他はシラネ

166 名前:デフォルトの名無しさん :2005/11/27(日) 13:47:46
VCは対応してない

167 名前:デフォルトの名無しさん :2005/11/27(日) 13:55:21
対応してないどころかfor文で宣言した変数が
スコープ外でも使えちゃう親切仕様☆

168 名前:デフォルトの名無しさん :2005/11/27(日) 14:17:47
>>167
使えてねーじゃん>>162

169 名前:デフォルトの名無しさん :2005/11/27(日) 14:18:09
>>167
それバグだろw

170 名前:デフォルトの名無しさん :2005/11/27(日) 14:56:05
スコープ外で使えるのは仕様。

171 名前:デフォルトの名無しさん :2005/11/27(日) 15:52:33
つ #define for if (0) ; else for

172 名前:デフォルトの名無しさん :2005/11/27(日) 16:55:26
ViewプロパティをDetailsにしているListViewで各項目の値を取得するには
どうすればよいでしょうか。やさしいお兄ちゃん教えて。

173 名前:デフォルトの名無しさん :2005/11/27(日) 18:55:18
表示形式がなんだろうと全て同じ方法だよ

174 名前:デフォルトの名無しさん :2005/11/27(日) 21:48:52
>>168-169
ARMではそれが正しかったのさ。

175 名前:デフォルトの名無しさん :2005/11/28(月) 00:54:13
visualC++を学びたいので無償で手に入れられるっぽい
Visual C++ 6.0をインストールしようとするのですが、いつも
「インストールは正常に終了しませんでした」
となりインストールが実行されません。
OSはMe、MDAC2.8もインストールして必要なものは
揃っていると思うのですが何が原因なんでしょうか

176 名前:デフォルトの名無しさん :2005/11/28(月) 01:02:21
制限ユーザでインストールしようとしてない?


177 名前:175 :2005/11/28(月) 01:13:41
>>176 ダウン元のサイトは一通り目を通してましたが
制限ユーザというのついてはよく分かりません。
6.0でも料金が発生したりユーザ登録が必要なのでしょうか?
それと、「インストールが・・・」ではなく「セットアップが・・・」でした

178 名前:デフォルトの名無しさん :2005/11/28(月) 01:21:45
MEならユーザ権限関係なかったね。
空きメモリは足りてる?
そのメッセージが出る一つ前の操作は何をやったの?


179 名前:175 :2005/11/28(月) 01:31:07
起動中のものを終了させてセットアッププログラムを起動して
使用承諾契約に同意したあとにいつも終わってしまいます。
再インストールや再起動も何度かしましたが変わりありません。
メモリは足りています

180 名前:デフォルトの名無しさん :2005/11/28(月) 06:00:18
レジストリがあふれてる

181 名前:デフォルトの名無しさん :2005/11/28(月) 07:07:33
Meなんて捨てちまえ

182 名前:デフォルトの名無しさん :2005/11/28(月) 08:50:09
Visual C++ 6.0無償になったの?
初耳だな

>>177
ダウン元のサイトってどこ?

183 名前:デフォルトの名無しさん :2005/11/28(月) 14:52:19
プップクプーwww
もうインストゥールできたから
おまえらなんかに用はないよ
プギャ


184 名前:デフォルトの名無しさん :2005/11/28(月) 23:40:17
ママのおっぱい飲んで早く寝ろ

185 名前:デフォルトの名無しさん :2005/11/29(火) 11:42:38
>>184
偶然セブンイレブンでB.Bって漫画読んだけど、大人がママのおっぱいをしゃぶるシーンがあった。

186 名前:デフォルトの名無しさん :2005/11/30(水) 03:48:58
おっぱいはしゃぶるためにあるんだよ

187 名前:デフォルトの名無しさん :2005/11/30(水) 10:35:38
生成されたプログラムを実行するときに押す「!」ボタンで
予めリダイレクトするファイルを指定することはできませんか?
プロレクトのオプションで引数を指定することはできたのですが・・

例えば生成された実行ファイルが TEST.exe のとき,「!」ボタンを押すことによって

TEST < data.dat

を実行したいのです.

188 名前:デフォルトの名無しさん :2005/11/30(水) 10:36:22
あぁしまった;
×プロレクト
○プロジェクト

189 名前:デフォルトの名無しさん :2005/11/30(水) 10:51:17
>>187
VC.NETなら、プロジェクト→プロパティ→コマンド引数に"< data.dat"

190 名前:デフォルトの名無しさん :2005/11/30(水) 17:59:03
>>189
返信ありがとうございます.
できました!

191 名前:デフォルトの名無しさん :2005/12/01(木) 09:27:19
int型のデータをファイルに保存したいんですが、
将来、このファイルを64bitOSでも正しく開けるようにしたいんです。
どのように保存したら良いでしょうか?

192 名前:デフォルトの名無しさん :2005/12/01(木) 09:41:04
ネタだろうか?
OS変わるとファイルが読めなくなるんだ
へー

193 名前:191 :2005/12/01(木) 09:47:34
>>192
いや、intのサイズが変わるんです

194 名前:191 :2005/12/01(木) 09:49:34
保存はバイナリで書き込みたいのです

195 名前:デフォルトの名無しさん :2005/12/01(木) 10:10:17
へー
2000年問題みたいだね
へーへー
見ものだね
へーへーへー

196 名前:デフォルトの名無しさん :2005/12/01(木) 10:51:53
>>191
OSでintサイズが変わるわけではない。
コンパイラの種類やそのオプションで決まる。

197 名前:デフォルトの名無しさん :2005/12/01(木) 11:02:06
>>194
4バイトintでも2バイトintでも、好きなもので書き込めばいいだろう。
読む方は必要なだけ読むようにプログラミングすればいいだけだ。
何れにしろ、int型のサイズで制限されることはない。

198 名前:デフォルトの名無しさん :2005/12/01(木) 12:01:31
つ<boost/cstdint.hpp>

199 名前:191 :2005/12/01(木) 12:31:03
4バイトで書いたら、4バイトで読め
って事ですね

ありがとうございました

200 名前:デフォルトの名無しさん :2005/12/01(木) 19:02:00
当然のことだし

201 名前:デフォルトの名無しさん :2005/12/01(木) 20:24:16
int32_tとか環境依存しそうな部分はヘッダでtypedefして吸収する

202 名前:デフォルトの名無しさん :2005/12/01(木) 23:28:07
そういうのにint使うな ぼけ

203 名前:デフォルトの名無しさん :2005/12/02(金) 10:25:31
PlatformSDKって何?どうやってつかうの?

204 名前:デフォルトの名無しさん :2005/12/02(金) 10:31:53
必要になるまで無理に使わなくていいよ

205 名前:デフォルトの名無しさん :2005/12/03(土) 11:06:29
>>203
Platform SDKはSDK、インストールして使う。

206 名前:デフォルトの名無しさん :2005/12/04(日) 02:29:39
VC++2005ExpressとPlatformSDK入れてみたから
http://www.kumei.ne.jp/c_lang/index_sdk.html
ここ見てWindowsプログラム練習してみようとおもったら、
イントロダクションのサンプルがいきなりコンパイル通らない。
ここ古くて使えませんか?
お勧めなサイトとかあったら教えてください。

207 名前:デフォルトの名無しさん :2005/12/04(日) 02:31:42
何回かビルドして実行してると、
ビルドエラーを表示するウィンドウ左下にあるタブ「タスク一覧」を
押しても無反応になるんですが、これMSのバグ??
環境はWindows2000で.net 2003。
XPの場合は全く起こらない気がする。
再インストール何回かしてるんだけど、しばらくするとこの症状が起こる...

208 名前:207 :2005/12/04(日) 02:34:15
訂正)
再インストール → システムのリストア
リストア後はもちろん症状治るけど、しばらくすると再発するって意味です。

209 名前:デフォルトの名無しさん :2005/12/04(日) 02:46:04
>>206
http://www.kumei.ne.jp/c_lang/setvc.htm

210 名前:デフォルトの名無しさん :2005/12/04(日) 10:59:43
いつもはLINUXでC言語をやっているのですが、WINDOWSにVC++2005EEβを導入してみました。
かろうじてコマンドラインではコンパイルして実行することはできたんですが、VC++本体では操作がさっぱりわかりません。
比較的単純なファイルをコンパイルして実行するだけなので、そこらへんの操作の仕方が書いてあるサイトあれば教えていただけないでしょうか?
もしなければ教えていただければ幸いです。
どなたかお願いします。

211 名前:デフォルトの名無しさん :2005/12/04(日) 12:17:57
比較的単純なファイルならコマンドラインでやってろ


212 名前:デフォルトの名無しさん :2005/12/04(日) 12:22:33
ベータは初心者が使うもんじゃないから

213 名前:210 :2005/12/04(日) 12:50:19
BCC使うことにします・・・。
インストールする前の状況にしたいのですが、
アンインストールはFramework等も行ったほうが良いでしょうか?

214 名前:デフォルトの名無しさん :2005/12/04(日) 12:52:13
>>213
諦めが早いな。

215 名前:デフォルトの名無しさん :2005/12/04(日) 13:12:25
その調子その調子、諦めて諦めて


216 名前:210 :2005/12/04(日) 13:29:45
あ、なんとかコンパイルできました。
でも、めっちゃ汚してる気がするなぁ。

217 名前:デフォルトの名無しさん :2005/12/04(日) 16:42:27
スレが汚れたね

218 名前:210 :2005/12/04(日) 16:59:56
そんなこと言わないでくださいよ。
初心者に教えるスレなんだからさぁ。

219 名前:デフォルトの名無しさん :2005/12/04(日) 17:12:28
俺Linuxでやってたんだ
ベータ版落としたんだけど
どっかサイト教えて
  ↑
こいうのはマジ死んでほしい。
本ぐらい買って勉強しろよ

220 名前:210 :2005/12/04(日) 17:15:41
そこまで言われる筋合い無いんですが・・・。

221 名前:デフォルトの名無しさん :2005/12/04(日) 17:22:34
>>220
ここがどこだか理解した上での発言かな?

222 名前:デフォルトの名無しさん :2005/12/04(日) 17:29:30
もうちょっと具体的にやりたいことを提示すればいいんじゃねーの?

223 名前:210 :2005/12/04(日) 17:41:42
すみません、アンインストール中です。消すのがいっぱいで大変ですよ・・・。
もしかして超初心者スレで聞くべきだったんですか?

224 名前:デフォルトの名無しさん :2005/12/04(日) 17:45:01
初心者以前の問題だな

225 名前:デフォルトの名無しさん :2005/12/04(日) 18:37:54
質問っす!
cout.writeってもしかしてwin32上では使えないんですか?

226 名前:デフォルトの名無しさん :2005/12/04(日) 18:57:49
Windowsでも使えるよ

227 名前:デフォルトの名無しさん :2005/12/04(日) 19:34:16
>>226
あれ?ほんとっすか?
consoleでは問題ないんですけどwinmainで始まる奴だと
空っぽのままです。

228 名前:デフォルトの名無しさん :2005/12/04(日) 20:29:28
ハァ?

229 名前:デフォルトの名無しさん :2005/12/04(日) 20:54:57
コンソールもWin32上ですので悪しからず

230 名前:デフォルトの名無しさん :2005/12/04(日) 20:55:17
あ、すんません、つまり何も値が入らないでwriteが終了します。
LPTSTR lpBuf = _T("") ;
std::cout.write(lpBuf, 0) << _T("Test") << std::flush ;
Consoleアプリならちゃんと"Test"がlpBufに入ってるんですけど
MFC等やその他winmainから始まる奴だとlpBufは空のままで
その後SetWindowText(hWnd, lpBuf)やその他いろいろやってみたんですが
文字が所得で来ていませんでした。

なにか別に必要なことでもあるのかと思っていろいろ探してみたんですが
やってる人がいないみたいなのでわからんです。

231 名前:デフォルトの名無しさん :2005/12/04(日) 21:42:05
Form1のハンドルを得るにはどのようにすればいいのですか?

232 名前:デフォルトの名無しさん :2005/12/04(日) 21:50:24
>>192
CPUが変わるとエンディアンの問題が出るよね。

233 名前:デフォルトの名無しさん :2005/12/04(日) 22:00:11
ファイルが読めなくなるんだ

234 名前:デフォルトの名無しさん :2005/12/04(日) 22:22:40
エンディアンの問題が出てもファイルが読めないわけではないな

235 名前:デフォルトの名無しさん :2005/12/04(日) 22:58:51
>>230
コンソールアプリ以外では闇に葬り去られる。
というのは嘘で,あらかじめ自分でリダイレクトして置けばstd::coutへの出力は捕獲できる。
それは面倒だから普通はstd::ostringstream(std::basic_ostringstream<TCHAR>)を使う。

236 名前:デフォルトの名無しさん :2005/12/04(日) 22:59:46
>>234
「読めない」の定義にもよるかな。

237 名前:デフォルトの名無しさん :2005/12/04(日) 23:48:49
>>235
出来たー!ありがd!

238 名前:コンパイルどーてー :2005/12/04(日) 23:52:01
入門書によって、ウインメインに、メインの部分を書いていたり
ウインドウプロシージャに書いているみたいですが
どちらでもいいのですか?
それとも利点があるのですか?
私の書いてる事じたいが、おかしな事でしたらスルーしてください

239 名前:デフォルトの名無しさん :2005/12/05(月) 01:37:56
スルーする。

240 名前:デフォルトの名無しさん :2005/12/05(月) 05:06:27
>>238
ここ池
http://pc8.2ch.net/test/read.cgi/tech/1131884991/


241 名前:デフォルトの名無しさん :2005/12/05(月) 06:08:54
WinMainはAPIじゃないと思うが

242 名前:デフォルトの名無しさん :2005/12/05(月) 06:46:54
>>238
自分は、大きいプログラムでstatic変数を
使いたくないときは、メイン部分(非プロージャー部分)に書いて、
テスト用とか、小さいプログラムの時はプロージャーに書いている。

243 名前:デフォルトの名無しさん :2005/12/05(月) 06:53:01
プロージャー

244 名前:デフォルトの名無しさん :2005/12/05(月) 08:09:42
プロシジャー

245 名前:デフォルトの名無しさん :2005/12/05(月) 08:31:48
プロスィデュア

246 名前:デフォルトの名無しさん :2005/12/05(月) 08:51:29
プロ信者って書いてある本があったな

247 名前:デフォルトの名無しさん :2005/12/05(月) 08:52:50
テラアリエナス

248 名前:デフォルトの名無しさん :2005/12/05(月) 08:58:34
ttp://www.sas.com/offices/asiapacific/japan/periodicals/technews/pdf/4-4.pdf
ttp://www.sas.com/offices/asiapacific/japan/periodicals/technews/pdf/5-2.pdf


249 名前:コンパイルどーてー :2005/12/05(月) 22:24:35
>>242
レスさんきゅーでつ

つまり、好みしだいって事かな
入門書また読み直しまつ

250 名前:デフォルトの名無しさん :2005/12/06(火) 21:45:06
質問します、
VC6のSP6を使っているのですが、
const float PI = 3.14159;
float fHoge, fHuga;
〜略〜
float fPugya = ((2.0f * PI * fHoge / fHuga) / (60.0f * 75.0f)) * 1.5f;
みたいなコードを、最適化をかけるとどんなアセンブリコードになってるのか
確認して最適化の勉強をしようと思ったのですが、
デバッグでアセンブリコードを見れるようにして、なおかつ
リリースビルドと同じような最適化をかけてビルドするというのが
どうやればいいのかわかりません。

実行速度優先の最適化を選択し、なおかつデバッグのオプションをつけた構成で
ビルドしようとすると、/GZと/O2を一緒には指定できませんとか言われたので
カスタマイズの最適化でグローバルの最適化や最大限の最適化を外すと
ビルドできたのですが、アセンブリコードを見ても、上記の部分は最適化無しと
同じものでした。
ビルドのオプションの設定の仕方が悪いのか、それともfloatは最適化がかからないとか
そういった理由なのか、よくわからないのでどなたか教えて頂けませんでしょうか。
よろしくお願いします。


■過去ログ置き場に戻る■ 1- 次250 最新50
DAT2HTML 0.33f Converted.