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

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

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

前スレ・関連スレは、>>2 ぐらい。
0002987NGNG
/** 前スレ **/
★初心者にVisual C++を教えるスレ★ Part4
http://pc2.2ch.net/test/read.cgi/tech/1044196393/l50

★初心者にVisual C++を教えるスレ★ Part3
http://pc2.2ch.net/test/read.cgi/tech/1038160750/l50

★初心者にVisual C++を教えるスレ★ (←実はPart2)
http://pc3.2ch.net/test/read.cgi/tech/1030985362/l50

★初心者にVisual C++を教えるスレ★
http://pc3.2ch.net/test/read.cgi/tech/1023530449/l50


/** 関連スレ **/
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
Windows Programing for C/C++(Not MFC)
http://pc2.2ch.net/test/read.cgi/tech/1018239290/l50
Win32API 質問箱 Build10
http://pc2.2ch.net/test/read.cgi/tech/1047819779/l50
C++相談室 part17
http://pc2.2ch.net/test/read.cgi/tech/1047560042/l50


/** 外部リンク **/
猫でもわかるプログラミング
http://www.kumei.ne.jp/c_lang/
MSDN ライブラリ
http://www.microsoft.com/japan/msdn/library/
0003デフォルトの名無しさんNGNG
以前あるスレで作られた初心者VC++スレ用テンプレ
質問・検索の仕方はここを見れ。
http://www.geocities.co.jp/Beautycare/4965/public/template.html
0004デフォルトの名無しさんNGNG
>>1
激しく乙。
0005デフォルトの名無しさんNGNG

乙

0006デフォルトの名無しさんNGNG
>>1
テンプレにぬるぽが入ってないので NG。
0007デフォルトの名無しさんNGNG
NGなのは藻前様の方だ!
   ( ・∀・)   | | ガッ 
  と    )    | |
    Y /ノ    人
     / )    <  >_∧∩
   _/し' //. V`Д´)/ ← >>6
  (_フ彡        /
0008デフォルトの名無しさんNGNG
C++初心者です、始めたばかりです、よろしくお願いします。
C言語自体初めてで、質問があります。
PERLの =~ s/hoge/ahya/;
のように文字列を置換するにはどのようにしたらいいんでしょうか?
必要なヘッダファイルと、関数を教えていただけたらありがたいです。
0009デフォルトの名無しさんNGNG
そんなもんあるのか?
0010デフォルトの名無しさんNGNG
boost::regex かね。
0011デフォルトの名無しさんNGNG
>>8
その正規表現ならCStringクラスできるぞ。

CString::Replace("hoge","ahya");

- 完
0012デフォルトの名無しさんNGNG
>>11
ありがとうございました......
来年から授業とる予定なのでやっぱVC++買った方がいいかもですね......
0013デフォルトの名無しさんNGNG
error C2555: 'LNil::=' : オーバーロードする仮想関数と 'LObject::=' の違いは戻り値の型です。
こんなエラーが出ました。
単純な例では再現することができなかませんでした。
解決策教えてください。お願いします。

http://member.nifty.ne.jp/~masumoto/cpp/vcbug/#SEC1
ここに解説あるんですが意味わからないです・・・
001413NGNG
MSDN
>派生クラスのオーバーライド関数を基本クラスの仮想関数から
>戻り値の型だけ変更して再定義することはできません。

とありますが、戻り値も引数も全く同じなのにこのエラーが発生しました。
001513NGNG
なんとか原因突き止めました。
>とありますが、戻り値も引数も全く同じなのにこのエラーが発生しました。
嘘でした(汗

class LObject
{
private:
public:
 LObject(){}
 ~LObject(){}
 virtual void print(std::ostream& a_ost) const;
 // ↓コイツのせい
 virtual const LBoolean& operator= (const LNil& a_nil);
};

class LNil : public LObject
{
private:
public:
 LNil(){}
 ~LNil(){}
 void print(std::ostream& a_ost) const{
  a_ost << "nil" << std::endl;
 }
 // ↓こんなのが暗黙の内に入れられるのかな
 // const LNil& operator= (const LNil& a_nil);
};

LNil::operator=は勝手にオーバーライドされてしまうのですね。
LNilではoperator=不要なので、どうにかなりませんかね?
0016デフォルトの名無しさんNGNG
>>15
正しくは
LNil& operator= (const LNil& a_nil);
が勝手に作られてるはず。
使わない場合は private メンバで宣言だけしとくのが定石。

ただ、この場合の問題は LObject の定義にある気がする。
operator==() と間違えてるんじゃない?
001713NGNG
>>16
ありがとうございます。
>正しくは
>LNil& operator= (const LNil& a_nil);
ちとボケてました(^^;
>使わない場合は private メンバで宣言だけしとくのが定石。
なるほど。
>ただ、この場合の問題は LObject の定義にある気がする。
確かに・・・
かなり馬鹿な事やって穴に嵌ってしまいました。
別に==と間違えていたわけではありません。(^^;
0018デフォルトの名無しさんNGNG
すみません。ド素人すぎてどう質問していいかもよくわかんないんですが
例えば、CDialogを基底にしたクラスの中でSendMessageを使おうとすると
CWndのSendMessage
SendMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );
が呼ばれるんですよねぇ?
それじゃなくってAPIのSendMessage
SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam );
を呼び出すことってできないんでしょうか?
0019尚NGNG
今VCを勉強しています。
私はよくエクセルを使うのですが、
VCでdll作って、それをエクセルから呼び出して使用することをできますか?
可能ならば、どのようにすればいいか、あるいはどのような書籍を読めばよいか
教えていただけませんか。
0020デフォルトの名無しさんNGNG
>>18
::SendMessage
じゃ駄目なのか?
002118NGNG
>>20
あ、そうやればいいんですか!
ありがとうございました!('-'*)アリガト♪
0022デフォルトの名無しさんNGNG
>>19
COMを勉強すればOK。
0023デフォルトの名無しさんNGNG
VC++6.0のスタンダードエディションで作成したソフトはフリーソフトとして公開してもよいですか?
0024デフォルトの名無しさんNGNG
よい。
0025デフォルトの名無しさんNGNG
VC++.NETはDelphiのようにRAD風ツールになったと聞いたのですが
コンポーネントもつくれますか?
0026デフォルトの名無しさんNGNG
>>25
答える前に確認しておきたい。
誰に聞いたの?
0027デフォルトの名無しさんNGNG
>>24
調べてみました。MFCがスタティックリンクできないみたいですね。
まあ、使わないからいいけど。
0028デフォルトの名無しさんNGNG
>>26
いつもロリ画像をくれる坂田さんです
0029デフォルトの名無しさんNGNG
WinXP + VC6で

リンク中...
LINK : fatal error LNK1212: プログラム データベースを開く際のエラーです、ファイルは使用中です
link.exe の実行エラー

といわれたのですが、何が悪いのでしょうか?
どうすれば直りますか?
0030デフォルトの名無しさんNGNG
>>26
じゃあその坂田さんとは、
ロリ画像をもらうだけの付き合いにした方が良いよ。
たぶんC#と勘違いしている。
0031デフォルトの名無しさんNGNG
>>29
生成するexeファイルが実行中なのでは?
0032デフォルトの名無しさんNGNG
>>29
ファイルの排他アクセスに引っかかったんじゃないかな。
VCで使うファイル(ソースや中間ファイルなど)が他で使われているからlink.exeが使えないってことでしょ。
再起動すりゃ直る。
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ライブラリを使うにはどうするんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています