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

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

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

前スレ・関連スレは、>>2 ぐらい。
003329NGNG
>>31-32
サンクスです。

>生成するexeファイルが実行中なのでは?
プログラムは終了してます。

>再起動すりゃ直る。
そのとおりでした。この現象はたまにおこるだけなのですが、そのたびに再起動は
めんどくさいです。
0034デフォルトの名無しさんNGNG
>>33
XPだとよくある現象。気にせず再起動しる。
0035デフォルトの名無しさんNGNG
>>33
2000に変えろ!
0036デフォルトの名無しさんNGNG
XP から 2000 にする事をバージョンアップといいます。
0037デフォルトの名無しさんNGNG
>>36
周知の事実!
0038デフォルトの名無しさんNGNG
プロはバージョナップと言います
0039デフォルトの名無しさんNGNG

MAKEINTRESOURCE(i) ですが、
#define MAKEINTRESOURCE(i) (LPTSTR) ((DWORD) ((WORD) (i)))
と定義されています。

RegisterClassExのメニューリソースの指定などで使用する場合、
文字列へのポインタの上位ワードがNULLの場合に、それが
文字列へのポインタではなく、リソースIDだと判断するようなので
すが、通常のポインタは上位ワードがNULLではないと保証
されているのでしょうか?

0040デフォルトの名無しさんNGNG
三日ほど前にC言語を勉強し始めた者ですが、
実際に書いたソースを動作させてみたくなりました。
ちなみに参考書として林晴比彦の「改訂 新C言語入門 スーパービギナー編」
を使っていて、半分まで進みました。
VC++.NETが12800円で売っていたんですが、これを買って問題ないでしょうか?
アカデミーパックとは書いてなかった……学生です。
0041デフォルトの名無しさんNGNG
>>40
問題はないがまずはフリーのコンパイラでじゅうぶんだろ。
アカデミックならもっと安いけどな。
0042デフォルトの名無しさんNGNG
>>41
アカデミック版はフリーのコンパイラよりも安いのか?
0043デフォルトの名無しさんNGNG
ただより高いものはない?
0044デフォルトの名無しさんNGNG
仰る通り。
0045デフォルトの名無しさんNGNG
>40
まずはあなたのOSがNT系列である事を確認する事。95系列には.NETは対応してないからね。
ただ、Cをやるだけなら、別にVC.NETを買う必要はないかと。
LSI-C試食版とかBorlandのとかフリーのはいっぱいあるから、
とりあえずそれで試してみたら?
0046デフォルトの名無しさんNGNG
>>45
ネタニマジレス(イカリャク
004740NGNG
遅れました。XPです。
フリーのを使ってみようと思ってBorlandをダウンしたんですが、
インストールがわからず(^^;;;
もうちょっと色々フリーを見てみます。
ありがとうございました。
004840NGNG
あ、違った。後々使うのはXPで、今使っているのは98だ。
てかメモ帳でcfgファイルを作るってのがよくわかりません。
「すべてのファイル」で保存しても何故かtxtの拡張子が付くんですけど。
0049デフォルトの名無しさんNGNG
>>48
それはメモ帳のアホ仕様。
Cやるなら、メモ帳じゃなくて、フリーのエディタ使え。
0050デフォルトの名無しさんNGNG
caseの次は字下げしたいのに・・・
0051 ◆sZMOg20d0E NGNG
とりあえず、林晴比古についての参考
http://www.pro.or.jp/~fuji/computerbooks/c/index.html
これでも読んでくれ。

漏れも初心者の時 こやつの本買って失敗した。
本のとおりやっても動かんものができたよ。
CG目指してるやつに その本くれてやったが、
そいつからも苦情が漏れに来た。
「本のとおりやっても 動かんぞ ゴラァ!!」ってな。

なんかシリーズ化しているみたいだけど みんな泣き寝入りなのかな?
ちなみにその本は手元にないからどの本かはもう覚えていない。
いっぱいだしてるしな。特定できんよ。
0052デフォルトの名無しさんNGNG
なんか最近VC++をやってるとよく飛ぶんだけど。しかもOSごと…
Windows2000+SP3の組み合わせが悪いのか・・・
0053デフォルトの名無しさんNGNG
おかしいと思ったらまずmemtest86
0054デフォルトの名無しさんNGNG
>>53
正常ですた!
0055デフォルトの名無しさんNGNG
>>47
初心者ならVC++の方が設定周りが楽だと思うよ。
VC++.NET Standard って6000円くらいで売ってたと思ったけど違った?
0056デフォルトの名無しさんNGNG

 そういや、

if ( .... ) {

}

っていうスタイルが一般的だけど、漏れは

if ( ... )
{

}

の方が読みやすくて良いと思った。最初の方は
一見スマートだけど、コードの中にあると、カッコ
の対応が分かりづらくて苦労する。

0057デフォルトの名無しさんNGNG
>>56
やめとけ
0058デフォルトの名無しさんNGNG
>>56
コーディングスタイル論争やりたいなら他逝けハゲ。
0059デフォルトの名無しさんNGNG
ワークスペースウィンドウとか、アウトプットウィンドウとか、
ツールバーとかって、動かないように固定できないのでしょうか。
006040NGNG
Borlandでたぶん設定できました。ありがとうございます。
exeファイルができたんですが、実行してもパッとMSDOSウィンドウが出るだけなんです。
「面積は12.566360です」っていう文章が実行結果として出ると
参考書に書いてあるソースを作ったはずなんですが。。。

>>55
スタンダードがどうか見るのを忘れました。もう少ししたら買おうかな……。
0061デフォルトの名無しさんNGNG
VC++.NET standard でインラインアセンブルはできますか?
0062デフォルトの名無しさんNGNG
>>60
プログラム終了時にブレークかましとけ。
0063デフォルトの名無しさんNGNG
>>60
表示した後に getch() や scanf() で何か入力を求めると一時的に止まるよ。
006440NGNG
>>62-63
う……すいません、どちらも理解不能です。
一瞬しか現れないので入力する間がありません……普通こういうものなんでしょうか?
0065デフォルトの名無しさんNGNG
>>64
DOSプロンプトを開いて、そこから実行すればいい。

0066デフォルトの名無しさんNGNG
コーディング論争は宗教論争になるからね

スレは盛りあがるけど荒れる可能性もある両刃の剣
素人には(ry
0067デフォルトの名無しさんNGNG
>>64
VCからは設定できない。
ココを参考にDOSプロンプトから生成されたexeを直接実行。
ttp://www.denen.org/prog/dos.html
0068デフォルトの名無しさんNGNG
DOSプロンプトってみんな未だに16ビットアプリを作ってるのか?
0069デフォルトの名無しさんNGNG
ココは初心者スレだぞ。
C/C++の練習で使っていても何も問題あるまい。
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
ありがとうございます。
■ このスレッドは過去ログ倉庫に格納されています