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


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

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



1 名前:デフォルトの名無しさん [2007/09/10(月) 12:20:27 ]
1 : ◆Manna2uCLg :2005/04/15(金) 13:33:14
Visual C++入門者・初心者からの質問を、
お兄ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

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

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

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

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

21 名前:デフォルトの名無しさん [2007/09/11(火) 19:33:01 ]
驚愕の新事実発覚!!!
Windowsで外字「㈰」を含むファイル・フォルダ名が、コピー、削除、リスト表示もできません。
CopyFile()、GetCurrentDirectory()などで取り扱えません!!!
でも、dir コマンドはできます。dir>file とリダイレクトすると、fileの中で
この外字は ? に変換されてしまいます!
誰か回避策教えてちょんまゲ。
文字コードは"\x85\x40" です。よろピク。


22 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 19:41:26 ]
自分の中での驚愕の新事実発覚は心の中で唱えてろ

23 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 19:54:22 ]
たまたま使えてしまう場合もあるけど
使えない字は使ってはいけない

24 名前:デフォルトの名無しさん [2007/09/11(火) 20:02:37 ]
でも、dir とか、ファインダーからは使えちゃうんです。
同じ外字(機種依存文字)でも@などはおk。

25 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 20:03:29 ]
うるさい死ね

26 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 20:36:08 ]
その文字はU+3230だろ。
シフトJISに対応する文字が無いから化けるだけじゃねえの?
Unicode系のAPIを呼ぶように修正しろ。

27 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 20:36:37 ]
>>24
@は外字でもないし、
Unicodeに収録されているので、もはや機種依存文字ですらない。

28 名前:デフォルトの名無しさん [2007/09/11(火) 20:46:09 ]
化けるのは問題ないですが、アクセスできずにエラーになってしまうのが困ります。
このフォルダーがあることさえも検出できません。
このフォルダを dir>file としてfileを見ても アスキーの'?' に置き換えられているので
㈰ があることが検出できないのが問題です。消そうと思ってもアクセスできません。


29 名前:デフォルトの名無しさん [2007/09/11(火) 20:49:18 ]
>>27
bird.zero.ad.jp/~zar26542/keio/let_table/tableaux/char.html



30 名前:デフォルトの名無しさん [2007/09/11(火) 20:53:59 ]
>>26
Unicode系のAPIとは何でしょうか。教えていただければ幸いです。

31 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 21:09:34 ]
>>30
末尾がWで終わるWin32API群。
例えばCreateFileに対してCreateFileWといった具合。
文字や文字列引数がみなWCHAR (wchar_tのtypedef)を使ったものになっている。

32 名前:デフォルトの名無しさん [2007/09/11(火) 21:17:14 ]
>>31
ああ、見たことあります。やってみます。
アリガト

33 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 22:06:43 ]
シネ

34 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 10:45:39 ]


35 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 11:00:29 ]
処女

36 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 19:01:10 ]
喪失

37 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 21:06:58 ]
童貞

38 名前:デフォルトの名無しさん [2007/09/13(木) 21:13:56 ]
Visual C++ 6.0を使いたいのですがOSはXPでも大丈夫なんでしょうか?
Visual Studio とは何でしょうか?
初心者ですいません・・・


39 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 21:27:10 ]
「Visual Studio とは何でしょうか?」というレベルなら、まずはVisualStudio2005EEを使ってみてはどうだろうか。
VisualStudioはVC++やC# VBなどでWindowsを開発できる統合開発環境です。
アナルは開発できません。



40 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 22:11:33 ]
アナルを開発するゲームなら作れるよ!

仕事で必要というのでなければ、VC6はお勧めしない。
OS対応については下のページを参照。
www.microsoft.com/japan/msdn/vstudio/support/tools.aspx

41 名前:デフォルトの名無しさん [2007/09/13(木) 22:25:14 ]
VC6はお勧め

2005EE入れたけどVC6の方が良い

42 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 22:28:19 ]
VC6の付属STLはカス
C++98の準拠度もカス
よってC++を使うならVC6は

43 名前:デフォルトの名無しさん [2007/09/13(木) 22:36:43 ]
Windows XP ではどうかしらないけど
Windows 2000 に Visual Studio 6.0 いれて
MediaPlayer 9 いれたら
Visual C++ Run-time Error で
エクスプローラがめちゃめちゃ落ちるようになたな。

あまりおすすめはしない

44 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 07:28:09 ]
>>43
Visual Studio入れたら何かとエラー起こすのは昔からお約束。

45 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 07:29:31 ]
>>43
MediaPlayer 9 いれたら何かとエラー起こすのは昔からお約束。

46 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 09:34:13 ]
Windows 2000 いれたら何かとエラー起こすのは昔からお約束。

47 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 11:36:26 ]
M$とはエラる事と見つけたり

48 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 01:57:40 ]
2005EEに実行がないんですけど。2008βでは実行してもテストがどうのっていわれて
コンソールもでないし。ソースはよくあるmainにcoutだけのやつです。


49 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 02:03:21 ]
>2005EEに実行がない
シュールだ。



50 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 02:23:08 ]
ソースをプロジェクトに加えてなかった・・。#include <iostream.h>とやるとファイルがないと
言われるし.hを取ると今度はcoutが定義されてない識別子。実行はデバッグなしで開始で
いいんですよね?

51 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 02:31:08 ]
#include <iostream>
using namespace std;

もっと基礎を勉強しろ

52 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 02:48:02 ]
分かりました(・◇・)ゞ

53 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 05:34:49 ]
ひさしぶりにVC++6.0で勉強再開したのですがSP6が出ていたので当てましたが
バージョン情報には変化がありません。確認する方法はないのでしょうか。

54 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 06:59:35 ]
GetDlgItemでハンドルの取得に失敗してるようなのですがどんな原因が考えられますか。
コントロールのIDは合ってます。HWNDはダイアログボックスの引数です。



55 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 08:23:20 ]
まだコントロールができてない

56 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 08:27:57 ]
能力不足
コントロールのIDは合ってるつもりなだけ。HWNDにダイアログボックスのハンドルを指定していない。
HWNDがスコープの範囲外である。

57 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 09:59:33 ]
ハンドルをグローバルにコピーしたものを使うようにしたら解決しました。
。ありがとうございました。


58 名前:デフォルトの名無しさん [2007/09/16(日) 21:01:42 ]
CDC* pdc1 = GetDC();
CPen *oldPen;
oldPen = pdc1->SelectStockObject(BLACK_PEN);

これで
error C2440: '=' : 'CGdiObject *' から 'CPen *' に変換できません。

とerrorが出るのですが、本に書いてあるとおりやってるだけなのですがなぜダメなのでしょうか?

59 名前:58 [2007/09/16(日) 21:10:10 ]
ごめんなさい

CDC* pdc1 = GetDC();
CPen myPen(PS_SOLID, 1, RGB(0, 0, 0));
CPen *oldPen;
oldPen = pdc1->SelectObject(myPen);

です




60 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 21:17:37 ]
>>59
×oldPen = pdc1->SelectObject(myPen);
○oldPen = pdc1->SelectObject(&myPen);


61 名前:58 [2007/09/16(日) 21:36:14 ]
>>60
ありがとうございました

62 名前:デフォルトの名無しさん [2007/09/17(月) 00:12:35 ]
ぜったい本の通りやってないだろバカ

63 名前:58 [2007/09/17(月) 00:29:01 ]
いえ本が間違ってました
工学社 Visual C++ .NET ゲーム制作教科書 片山幸雄著 の39ページ40ページです
もちろん他の部分から類推できるものなのでそれができなかったのは私がバカなのですが


64 名前:デフォルトの名無しさん [2007/09/17(月) 00:53:59 ]
アナログ時計のプログラムってどんな感じなんでしょうか・・・
デジタルなら簡単に出来るんですが。

どなたかご教授お願いしますorz

65 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 01:05:55 ]
>>64
文字盤の上に、時分秒に従い角度を計算して針を書くだけ
注意点としては針を進めるとき、下の針を消してから新しい針を書くのではなく、
ダブルバッファリングという手法を使って画面を更新すること
これだけ注意すれば問題ないはず

66 名前:デフォルトの名無しさん [2007/09/17(月) 01:23:37 ]
>>65
ダブルバッファリングですか。
難しそうですが、頑張ってみます。
ありがとうございました。

67 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 08:20:56 ]
プログラミングWindowsのサンプルは消してから書く方式だったと思う
サンプル動かして見たけど特にそれで問題ない

68 名前:デフォルトの名無しさん [2007/09/18(火) 01:21:43 ]
DLLプログラムで、自分自身が動作しているパスを取得したいのですが、
どうすればいいのか解りません。よろしくお願いします

69 名前:デフォルトの名無しさん mailto:sage [2007/09/18(火) 01:29:42 ]
GetModuleFileNameに自分のインスタンスハンドル渡す。



70 名前:68 mailto:sage [2007/09/18(火) 02:21:26 ]
>>69
ありがとうございます。
眠い。。

71 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 13:53:38 ]
眠いのですが、どうすればいいのか解りません。よろしくお願いします

72 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 14:00:02 ]
眠りましょう。
眠れなければ医者へかかりましょう。

73 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 14:13:07 ]
いつかは寝なければいけないときが来るのだから寝とけ

74 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 14:22:28 ]
どうせそのうち寝るのなら、今はがんばって起きていたい

75 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:15:10 ]
でも眠いんだろ?

76 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:20:22 ]
俺の経験から言うと
無理して徹夜するよりきっぱり定時に帰って
明日朝からしゃきっとがんばった方が効率が良いと思って
早朝7時くらいに出社して徹夜するはずだった分を補填しようとするけど
結局5分遅刻して(;´Д`)

77 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 17:47:55 ]
あるあるw

78 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 19:56:19 ]
意味わからね。


79 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 20:25:47 ]
正解



80 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 00:20:56 ]
vc6でMFC無しでプログラミングしています。
vector< char >のサイズを動的に確保する配列を使いたくて、

vector <char> *vec;
vec = new vector<char>[ size ];
delete[] vec;

としたのですが、コンパイル時にdeleteのところで、「配列のdeleteは合わないから*(ポインタ)と解釈するよ」
という旨のワーニングが出ます(開発環境が手元にないのでうろ覚えです)
実行するとdeleteの行で落ちます。

配列の形式でnewしたら配列の形式でdeleteすると理解していて、上記のように書いたのですが、
どういう形でdeleteするのが正しいのでしょうか。
よろしくお願いします。

81 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 00:54:33 ]
>>80
何か間違ってないか?

VC6起動して試したけどワーニング出ない
実行エラーにもならない(上記3行だけだけど)

82 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 01:01:16 ]
vector<vector<char> > でいいじゃん

83 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 01:40:54 ]
>>82
死ね

84 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 14:50:37 ]
そんなvectorの使い方はじめて見た。というか意味不明。

85 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 14:55:45 ]
>>84
二次元データを扱うために、vector<vector<float> >なんて使い方するのは常套手段だが。
>80の使い方なら確かに気色悪いと思う。

86 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 16:44:18 ]
>>85
いや、当然>80の話よ。vectorの意味を理解してない気がするので。

87 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 18:54:25 ]
vector<char> vec(size);
こうしたいだけだよな>>80

88 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 19:30:46 ]
C++の話はどうでもいい

89 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 21:53:53 ]
list<vector<char>>
vector<list<vector>::iterator>
でいいじゃん



90 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 01:29:23 ]
vector<char>使うならstd::stringを使いたい気分

91 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 01:39:46 ]
boost::ptr_vector<std::string> str_vec(size);

92 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 02:02:10 ]
>>83
死ね って言ってる理由が分からないんだが。
vector<vector<char> > は何か問題あるの?

93 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 02:26:14 ]
>>92
スルー推奨

94 名前:デフォルトの名無しさん [2007/09/21(金) 22:15:06 ]
リソースエディタ経由ではなく直接リソースIDを確保したいときどうしたらいいですか?
Resource.hにじかに編集?

95 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 22:38:38 ]
C++でBot作れますか?

96 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 22:51:02 ]
作れない方がおかしい

97 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 23:10:50 ]
>>94
resource.h を直接編集してますね
個人的に気をつけてるのは、プロジェクトを閉じてから編集を開始するのと
編集後.apsファイルは削除しておくことくらい

98 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 23:57:57 ]
VC++6で、キー入力を捕まえたいんですが、
設置してあるボタンを押したあとだとキー入力を受け付けてくれません。
原因は何でしょうか?

99 名前:デフォルトの名無しさん [2007/09/22(土) 00:03:53 ]
Win32API で
CreateWindowW(
とすると引数の情報が出てくるんですけど
CreateWindow(
では情報がでてきません。
これが普通なんでしょうか?
それとも何かファイルが壊れててでなかったりしてるんでしょうか?



100 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 00:04:59 ]
>>98
もっともっともっともっともっともっともっともっともっともっともっともっともっともっともっと詳しく。

101 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 00:11:45 ]
>>99
お前バカじゃねぇの
環境書けよ
どうせ2005だろ?仕様だよ

102 名前:デフォルトの名無しさん [2007/09/22(土) 00:19:11 ]
>>100
すみません。
ボタンを押した後、フォーカスがそこにあっていて
キー入力を認識しないみたいなんです。
ボタンが押されたときは

case WM_COMMAND:
 switch(LOWORD(wp)) {
  ・
  ・
  ・
  case ID_CF:
   if(field_flag==FIELD1) field_flag=FIELD2;
   else field_flag=FIELD1;
   InvalidateRect(hWnd, NULL, TRUE);
   break;
 }

のようなかんじで、
キー入力の受け付けは

case WM_KEYDOWN:
 GetKeyboardState(state);
 if(state[VK_UP] & 0x80){
 if(mode_flag==HAITI){
  ・
  ・
  ・
 }

でやっています。

103 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 00:24:07 ]
わろた

104 名前:デフォルトの名無しさん mailto:age [2007/09/22(土) 00:33:34 ]
インラインアセンブラが使え無い言語は
基本的に劣っていると考えたい・・・


105 名前:デフォルトの名無しさん [2007/09/22(土) 00:34:16 ]
すみません、超初心者なんで・・・どうしたらよいのでしょうか?

106 名前:デフォルトの名無しさん mailto:age [2007/09/22(土) 00:38:05 ]
ワロタら良い

107 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 00:39:10 ]
原因がわかりました。
どう調べたらいいのか分からなかったので・・・
ありがとうございました。

108 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 00:49:50 ]
ソーセージ買いに行ったら自己解決しとった

109 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 00:57:06 ]
今からオナルんか?
まんこ臭くなるから気を付けろよ



110 名前:デフォルトの名無しさん mailto:age [2007/09/22(土) 01:10:27 ]
エラー デバッグ ブラウザ ツール
www.mozilla-japan.org/
シンプル プログミング ツール
proforceone.web.fc2.com/
素因数分解サンプルプログラム
Calculation processing にコピーして[RUN]

A=2*3*5*11*13*17*19;
x=A;br();write(" "+x+" ⇒");
for(i=2;x>=i;i++){if(0==x%i){k=0;
 for(j=2;(i>=j)&&(1>=k);j++){
  if(0==i%j){k++;}
 } if(1==k){write(" "+i);}
}}


111 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 01:51:49 ]
インラインアセンブラじゃなくてインラインフォートランにすればいいのに

112 名前:デフォルトの名無しさん [2007/09/22(土) 03:22:01 ]
strtokがエラー出るんだけどなんで?
strtokのソースの中で検索ヒットした文字に\0で置き換えするところでアクセス違反起きてる
ちゃんと文字列の中アクセスしてるはずなのになんで?どうして?

113 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 03:23:17 ]
お前がバカだから

114 名前:デフォルトの名無しさん [2007/09/22(土) 03:32:47 ]
マジで?

115 名前:デフォルトの名無しさん [2007/09/22(土) 03:35:13 ]
くまった

116 名前:デフォルトの名無しさん [2007/09/22(土) 06:13:46 ]
ローカルの変数にコピったら動いた!!!!1
頭いいかもしんない。ここのみんなじゃ無理だったかも・・・

117 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 06:15:15 ]
お前の事だからそんなこったろうと思ったよ
頭わるすぎw全米がわろた

118 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 10:26:33 ]
>>116
無理だったね。
112に書いてあることだけで答えを導き出すには、
おそらく一級のエスパーが必要だったろうから。

119 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 10:34:37 ]
>>116
正解だったね。
113に書いてあるとおりで答えを導き出せないのは、
おまえが超級のパーである証明だったろうから。



120 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 10:38:46 ]
VC++5.0(mfc42のヤツ)のインストールについて教えてください。

WindowsXPが出始めた頃にVC++5.0をインストールして普通に使えていたのですが、
XPのSP2を入れたらInfoViewerが表示できなくなってしまいました。
(HTTP 404 - ファイル未検出)とか言うエラーが表示されます

ググッったら、以下のような情報を見つけました。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_DISABLE_MK_PROTOCOL に新規キーで「MSDEV.EXE=dword:00000000」を作成

が、そのときにはVC++5アンインストールと再インストールをしてしまっていました。
(上の情報を早くみつけていれば、レジストリの修正だけですんだのに。。)

インストールしなおしたVC++5.0では、上記のレジストリキーを設定しても
やはりinfoViewの内容を表示させるとエラーになります。

なにか解決方法をご存知の方がいらっしゃったらだったらご教授ください。
よろしくお願いします。


121 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 10:40:18 ]
新しいのにする






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

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

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