トップページ⇒tech
1001コメント306KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001987NGNG
タイトルのとおり、
Visual C++ 初心者用スレッドです。

前スレ・関連スレは、>>2 ぐらい。
007040NGNG
デ…デキタ─wwヘ√レvv~(゚∀゚)─wwヘ√レvv~─ !!!

出来ました! きっちりと「面積は12.566360です」と出た! 
おお〜感動〜。一体これに何の意味があるのかわからないけどw
ありがとうございました!
0071デフォルトの名無しさんNGNG
>>68
DOSプロンプトなら32ビットアプリだろ
0072デフォルトの名無しさんNGNG
>>69
VC++であって某ランドではない罠
0073デフォルトの名無しさんNGNG
>>71
それコマンドプロンプト
0074デフォルトの名無しさんNGNG
>>70
半径2の円の面積と見た
0075デフォルトの名無しさんNGNG
>>73
それNT系
0076デフォルトの名無しさんNGNG
私もCの勉強を始めたばかりで>>40さんと同じ参考書を使用してます。
その中の「Visual C++を利用してCコンパイラを使う方法」を試しているのですが
プロンプトで「edit smp.1(ファイル名)」を入力すればWindows付属のEDITエディタが起動するはずが
同じ通りにやってるのに認識してくれません。
一体何故なのでしょうか?
ちなみにOSはXPでVisual C++.NETを使用してます。
0077デフォルトの名無しさんNGNG
そもそもXPにedit.exeなんかあるのか?
0078デフォルトの名無しさんNGNG
>>77
検索したら「EDIT.EXE」ありますた。
0079デフォルトの名無しさんNGNG
>>78
気をつけろ!そいつはバ(以下略
0080デフォルトの名無しさんNGNG
>>79
バンカーバスター?
0081デフォルトの名無しさんNGNG
>>76
メモ帖でやれば?
editの代わりにnotepadで。
0082デフォルトの名無しさんNGNG
      ☆ チン     マチクタビレタ〜
                        マチクタビレタ〜
       ☆ チン  〃  ∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        ヽ ___\(\・∀・) < ServicePack6まだ〜?
            \_/⊂ ⊂_ )   \_____________
          / ̄ ̄ ̄ ̄ ̄ ̄ /|
       | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
       | たけのこの里 |/
0083デフォルトの名無しさんNGNG
>>82
禿しく同意!
0084名前は開発中のものですNGNG
Cの基本はわかるんで、そろそろC++やってみようと思うんですけど
早いですか?それと習得(あいまいな言い方ですみません)には、どのくらい
時間かかりますか?
0085デフォルトの名無しさんNGNG
ももくり3年かき8年
0086あほNGNG
http://www.asahi-net.or.jp/~yf8k-kbys/
↑ここで勉強すべし。
0087デフォルトの名無しさんNGNG
>>84
決まりなんて無いんだからやる気があるなら今すぐやれ。
0088デフォルトの名無しさんNGNG
>>84
84さん次第。構造体,malloc,freeを使いこなせるのであれば
同様にclass,new,deleteを使いこなせるように進めれば。
もちろんそれだけではないけど。
0089デフォルトの名無しさんNGNG
ネットワークプログラムを組もうと思い
参考になりそうなサイトを色々と探しましたが

もし皆さんが参考になったサイトがあったら
教えてください。
0090名前は開発中のものですNGNG
みなさんお返事ありがとうございます。86さんのリンクページ読んだら、Cに慣れすぎて
しまうと、オブジェクト指向で挫折する人が多いと書いてあったの
ので、Cに慣れすぎてしまう前に移行しようと思います
0091デフォルトの名無しさんNGNG
★みんなの情報局★みんなのリンク集★ココ最高★
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
009289NGNG
やはりインターネット上のデータより
書籍のほうが勝ってるのでしょうか?
0093デフォルトの名無しさんNGNG
どっちもどっち
両方活用すれ
0094デフォルトの名無しさんNGNG
>>89
ネットワークプログラミング相談室 Port5
http://pc2.2ch.net/test/read.cgi/tech/1040220302/l50
0095VC初日NGNG
今日から仕事の都合でVCを使い始めた初心者です。
質問がありカキコしました。
他のエディタでEUCの文字コードで作成したソースファイルを、
VCで開くと文字化けしてしまうのですが、どうすれば改善するのでしょうか?
どこかに開くファイルは必ずEUCの文字形式で開くような設定はあるのでしょうか?
どなたかご存じでした教えて下さい。
よろしくお願い致します。
0096デフォルトの名無しさんNGNG
外部ツールで変換すれば?
http://computers.yahoo.co.jp/download/vector/win/util/text/conv/code/
009795NGNG
>>96
やっぱりシフトJIS等に一度変換しないとダメなのでしょうか?
納品でEUC形式で行うように統一しているので、
VC上でソースを編集する時もEUC形式で表示されたものを編集したいです。
どうしても無理であれば仕方ない事なのですがね。
0098デフォルトの名無しさんNGNG
>>97
ムリ
009995と97NGNG
了解しました。
仕方が無いので、EUC形式が正しく表示出来る違うエディタで編集して、
編集が終わったらVCでコンパイルする事にします。
質問に答えて頂きありがとうございました。
010089NGNG
>>94
おぉ。いいスレですね。
ありがとうございます。
0101デフォルトの名無しさんNGNG
vc++.net でcursesライブラリを使うにはどうするんでしょうか?
0102デフォルトの名無しさんNGNG
なんだかCの参考書って難しくてさっぱりです。
この意味わかる方教えてください

某参考書の一節

#ifがよく使われるのは、ヘッダファイルの二重include防止です。

#if ANYHEADER_H
#define ANYHEADER_H
・
  ・
  ・
#endif
0103デフォルトの名無しさんNGNG
何が分からないのか分からん
0104デフォルトの名無しさんNGNG
と思ったがそれじゃまともに動かないじゃん
0105デフォルトの名無しさんNGNG
>>102
気持ちはわかる。以上
0106デフォルトの名無しさん NGNG
構文の例みたいなもんなんですが、二重includeって
なんですか?
0107デフォルトの名無しさんNGNG
二重includeとはなんですか?
0108デフォルトの名無しさんNGNG
#if ANYHEADER_H じゃなくて
#ifndef ANYHEADER_H じゃね。
0109デフォルトの名無しさんNGNG
二重にincludeすることです
0110デフォルトの名無しさんNGNG
>108
そうでした。108さんの言うとおり。
すみません、そちらの方でお願いします
0111デフォルトの名無しさんNGNG
現代人は #pragma once を使います。
0112デフォルトの名無しさんNGNG
>>111
両方使うのが普通です
0113デフォルトの名無しさんNGNG
どこで二重にincludeしてるかよくわかんないんです。
低レベルな話だと思いますがよろしくお願いします
0114デフォルトの名無しさんNGNG
>>113
気持ちはすごくわかる。以上
0115デフォルトの名無しさんNGNG
vc++.net でcursesライブラリを使うにはどうするんでしょうか?
0116デフォルトの名無しさんNGNG
>>113 ここを見ればわかるかも
ttp://www.02.246.ne.jp/~torutk/cxx/file/includeguard.html
0117デフォルトの名無しさんNGNG
釣られてあげよう。でも、この後のレスはないので念のため。

ひとつのファイルをコンパイルするのに
同じファイルを何回もインクルードするのは無駄。
だから、コンパイラが読み込みを省略してくれることもあるし、
万が一、2度読み込まれても構文解析が読み飛ばしてくれるように、
#ifndef ANYHEADER_H
#define ANYHEADER_H
・
・
・
#endif
と書いておく。
stdio.hみたいなファイルは、
ありとあらゆるヘッダーにかかれているから、
コンパイル時間の節約になるし、
同じ宣言が重複するエラーも出ない。

さらばじゃ。
0118デフォルトの名無しさんNGNG
http://www.agemasukudasai.com/bloom/
0119デフォルトの名無しさんNGNG
>どこで二重にincludeしてるかよくわかんないんです。

いいところに気がついたじゃないか。
プログラマのほとんどは、どこで二重にincludeしてしまうのか
わかってないんだよ。だけど、その呪文を書いておけば、
どこで二重にincludeしてしまっても気にする必要がないんだよ。
どーだ楽ちんだろ。
0120デフォルトの名無しさんNGNG
#ifndef ANYHEADER_H
#define ANYHEADER_H
#pragma once
・
・
・
#endif

まぁあれだ
『おまじない』だと思ってこれは必ず入れて置けと
0121デフォルトの名無しさんNGNG
つーか>>102は釣りだろ!
0122デフォルトの名無しさんNGNG
>>101
エスケープシーケンスでがんばったら。
0123デフォルトの名無しさんNGNG
>>122
VC++.NETが使えるのは2000/XP→2000/XPではエスケープシーケンス無理
 →がんばれない。
0124デフォルトの名無しさんNGNG

VC++.NET 使ってる人にお尋ねしますが、これにも
MSDN Library が付属してると思うんですが、これの
Platform SDKの解説は相変わらず大部分英語ですか?
それとも完全に日本語訳になったでしょうか?

VC++6.0使ってるんですが、翻訳がホントに一部だけで
WNDCLASS構造体の解説ですら英語という状況なので
完全に訳されているなら.NETに移行しようかと思ってる
んですが。

0125デフォルトの名無しさんNGNG
COleVariant オブジェクトにCHAR型の文字ををセットするのには
どうすればよいのでしょうか?
0126bloomNGNG
http://www.agemasukudasai.com/bloom/
0127デフォルトの名無しさんNGNG
>>125
char c;

COleVariant v(CString(c));
0128デフォルトの名無しさんNGNG
>>124
英語を学んだほうが現実的だと思うけど。
ネット版なら翻訳されてるかな?
ttp://www.microsoft.com/japan/msdn/library/
0129デフォルトの名無しさんNGNG
ヘルプの英文に英語の知識はほとんどいらない
0130デフォルトの名無しさんNGNG
#include <stdio.h>
int main()
{
int a, b;
printf("a, bを入力してください\n");
scanf("%d, %d", &a, &b);
printf("a = %d b = %d\n", a, b);
printf("何かキーを押してください");
getchar();
printf("end");
return 0;
}
実行するとgetchar()の入力待ちが起きずに終了してしまうんですが
なぜでしょうか。コンパイラはvc++.netです。
0131デフォルトの名無しさんNGNG
scanfでデータを取りこぼしているから
0132デフォルトの名無しさんNGNG
<<127
ありがとうございます。
0133デフォルトの名無しさんNGNG
VC++.NETを使ってますが、先日までは自分が記述したプログラムだけ
ステップインしてデバッグ出来ていたのですが、先ほどやってみると
strcpy,strncpy,starcat,CString等他の関数の中身(アセンブリ?)
までステップインしてしまってます。
きっとどこかの設定を触ってしまいこうなったのだと思いオプション
設定を見直したのですが、わかりませんでした。
教えてください。
0134デフォルトの名無しさんNGNG
>>133
ステップアウト (関数から抜け出る)
ステップオーバー (次の関数へ)
のボタンないですか?
0135デフォルトの名無しさんNGNG
<<134
ありがとうございました!
ステップアウトでできました。以前はF8ステップインだけを押して
いてそんな事してなかったと思ったのですが。。
これでデバッグがまたはかどります。
ステップインって必要ないじゃん!
0136デフォルトの名無しさんNGNG
>>135
んなこたーない。
自分の書いた関数の呼び出しもトレースしなくなるぞ。
0137デフォルトの名無しさんNGNG
本に載ってたソースを元にファイル出力をしてみようと
↓のコードを書いたのですが

if(GetAsyncKeyState(VK_TAB) & 0x8000) {
HANDLE hmap;
char *map;
PDWORD bite=0;
map=(char *)bData;
hmap =CreateFile("C:\\map.txt",GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,NULL,NULL);
if(hmap != INVALID_HANDLE_VALUE){
WriteFile(hmap,map,lstrlen(map),bite,NULL);
CloseHandle(hmap);
}
}

WriteFileができず
「ハンドルされていない例外 は Sample11.exe (KERNEL32.DLL) にあります: 0xC0000005: Access Violation。」
とでてしまいます。

どうすれば書き込むことができるのでしょうか?
0138137NGNG
VC++6.0
を使ってます
0139デフォルトの名無しさんNGNG
>>137
>PDWORD bite=0;
これはないでしょう。
0140137NGNG
「第四引数は実際に書き込まれたBITE数が代入されるだけ」
と書いてあったので適当に初期化してみたのですが
まずかったでしょうか。

どう直せばよいのでしょう。




0141デフォルトの名無しさんNGNG
つまりアドレス0に代入されていることになるが・・・
0142デフォルトの名無しさんNGNG
Σ(゚Д゚
PDWORDなんてものがあるなんて知らなかった…。
0143137NGNG
mallocなどでメモリ領域を確保してそのアドレスを入れればよいのでしょうか?
0144デフォルトの名無しさんNGNG
あるある、俺も以前間違えた。
MSDNにも素直にFoo(HOGE* hoge);って書いてくれればいいのに
Foo(LPHOGE hoge);って出てたりするし。
0145デフォルトの名無しさんNGNG
>>143
答えから言えば
DWORD dwBit;
としといて関数に&dwBitを渡す。
たぶんMSDNにも「第四引数は〜へのポインタ」みたいなこと書いてあると思う。
0146137NGNG
ありがとうございます。
やってみます。
0147137NGNG
できました。
Pはポインタを示す冠詞のようなものなのですね。
初めてしりました。
0148デフォルトの名無しさんNGNG
LPとP両方定義されている物、
片方しか定義されていない物、
まったく存在しない物、
16bit時代の名残を引きずっているとはいえ、
M$の定義はいい加減すぎる
0149デフォルトの名無しさんNGNG
>>148
その癖型チェックはしっかりするし(w
0150デフォルトの名無しさんNGNG
すいません。
Directxを使ってクライアント領域に描写しているのですが
ダイアログのようなエディットボックスで
文字入力したいのです。

どのようにすればよいでしょうか。
0151デフォルトの名無しさんNGNG
VCでC++じゃなくてCをコンパイルするのて、
簡単に出来るんですか?
0152デフォルトの名無しさんNGNG
>>151
ソースの拡張子を .c にする。
0153デフォルトの名無しさんNGNG
ありがとうございます。
助かりました。
0154デフォルトの名無しさんNGNG
ダイアログウィンドウって子ウィンドウ作れますか?
0155150NGNG
解決しました
0156デフォルトの名無しさんNGNG
>>154
作れます。
0157デフォルトの名無しさんNGNG
>>156
つーか子ウィンドウの作れないウィンドウってあるか?
0158デフォルトの名無しさんNGNG
VRAMの表示バンク切り替えやクリッピング無しの描画によって見えなくなることはある
いくらでも対策はあるけど
0159デフォルトの名無しさんNGNG
VC++6.0をWin2kProで使用でのことについて質問です。
以前まで(今回の再インストール)は、VCの「ファイル、編集・・」などある
あのメニューから、ツールバーのカスタマイズをするときに引用できたのですが、
なぜかできなくなりました、ためしに完全インストールや上書きインストールなど
やってみましたが無理でした。
やりたいことは、
ツール→カスタマイズで、ファイル→ワークスペースを開く を
ツールバーに追加したいのですが、このメニューが何か違うのです、左端につまみ
がないメニューに(表現悪くてすいません)なっていて、
編集メニュー項目とかにアイコン付で項目があると思うのですが全ての項目に
アイコンがついてません、アイコンが描画される幅がない感じで狭いです。
友人から試しに上述のカスタム状態のレジストリをもらって上書きすると、一応
できたのですが、メニュー項目のアイコンなどは復帰しないです。
どなたかご教授下さい、わかりにくければ再度説明します。お願いします。
0160デフォルトの名無しさんNGNG
>>159
わかりにくいのでもう一度お願いします。
0161デフォルトの名無しさんNGNG
>>159
>ツール→カスタマイズで、ファイル→ワークスペースを開く を
>ツールバーに追加したいのですが

そんなに何度も使うものじゃないのにツールバーに必要ですか?

0162デフォルトの名無しさんNGNG
>>159
>引用できたのですが

この辺が謎。
0163159NGNG
>>161
私は結構つかうので…。まぁなくても不便とまではいかないかも
しれませんが、できなくなったのが一番嫌なことでしょうか。

>>162
えっと、ツール→カスタマイズ、でツールバーに
ファイル→ワークスペースを開く をD&Dしたら、ツールバーに
同じ機能のボタンが生成できるんですが、その機能ができなく
なったのです。
カスタマイズ設定時でのメニューの項目が全てグレーになって
しまっています。

そのほかの見える現象としては、メニューがWin95時代(?)の
感じみたいになっていて、IE5とかのように左の端につまみがなく
なっています。
IEですとお気に入りのなかの項目にアイコンがあると思います。
プログラムだとオーナードローする技法のやつです。
VC6.0のメニューもそういった感じだったはずが、上述のとおり
Win95チックになってしまっています。

画面をみてもらえばいいのですが、そういうわけにも
いかないですね。

文字で表現するのが難しい、どうか宜しくお願いします。
0164デフォルトの名無しさんNGNG
>>159
>今回の再インストール
これが謎だけど、単にIEのバージョンが古いというのではあるまいな?
0165159NGNG
>>164
IEは5.5SP2です、正確には今回のWindows2000Proインストール
以来ずっとこの現象が残っているのです。
あれはIEコンポーネント関連と考えてIE6にしたり(今はけしました)
しても無理でした、VCの再インストールも無理でしたし。
以前まではWinインスト後まっさきにVCインストールでも、
正常になっていました、Winまた再インストールすればよい気も
するんですがこれだけの為にするのにも手間がかかるから敬遠してます。

どこか自由に画像アップロードできるところがあればいいのですが、
検索の仕方が悪いのかいまいちでてこない…。
他何か足りない情報ありますでしょうか?

今ちょっと思いついたのでレジストリを完全削除してVC起動してみます…。
(これでうまくいかないかなぁ)
0166デフォルトの名無しさんNGNG
レジストリを完全削除したらOSが起動不能になるが
0167159NGNG
>>166
あ、もちろんVcのです、やってみましたが無理でした。

猫のところで画像があったので説明します。
ttp://www.kumei.ne.jp/c_lang/setvc.htm
ここにページにある画像の「||ファイル|編集・・・」や
プロジェクト→プロジェクト追加→[アイコン]ファイル
となってますが、これの
メニューは、ちょうどメモ帳のメニューのようになって一番左のCのアイコン無し
メニューポップアップはアイコンが一切ないです。

これでもっと分かりやすくなったでしょうか…。
0168デフォルトの名無しさんNGNG
(´-`).。oO(あきらめてくれよ頼むから)
0169159NGNG
うーん、2chにすら同じ症状でた人いないみたいですねぇ。
それともあほすぎる質問なのかな。
まぁ開発には直接影響ないので >>168 さんの言う通り
諦めることにします。
再三の書き込み失礼致しました。
■ このスレッドは過去ログ倉庫に格納されています