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


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

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



1 名前:Part28の1000 mailto:sage [2008/02/15(金) 01:45:56 ]
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

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

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

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

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

331 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 12:12:25 ]
>>309
外から飛ばされてくる部分についてはどういう仕組み?
それによってはVBで別アプリとして作ったものを利用するというのも出来そうだが

332 名前:デフォルトの名無しさん [2008/03/12(水) 15:51:27 ]
VC++2008を使い始めたのですがEclipseでの[Ctrl]+[I]のようなインデント修正機能ってありますか?

333 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 16:50:57 ]
Eclipse知らんけど
Ctrl + K , Ctrl + F
だろうか?


334 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 17:47:26 ]
独習C++の第5章の理解度チェック8の問題で思い切り恥じかいた。
解答が間違ってるじゃん。

335 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 17:49:43 ]
連投ですまんが、まあ俺が未熟だというのも問題なんだがな。
でも間違った解答を載せるなよ(怒)

336 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:04:15 ]
『独習C++ 第3版』正誤表 1刷(26件)

337 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:23:36 ]
seshop.com/book/errata/Default.asp?mode=detail&pid=3236&printno=1&pageno=all

26件中13件は、15刷で修正

338 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 19:01:14 ]
F5でデバッグするときに確認画面が出なくなってしまいました
どうすれば今まで通り確認画面が出るようになりますか?

339 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 19:02:59 ]
確認画面ってなんだよ



340 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 19:22:20 ]
「ビルドしますか?」ってやつか? チェック入れると次から出なくなるからかな。 解決方法は分からないが。

341 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 19:36:01 ]
>>340
それです

342 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 19:36:55 ]
再インストール

343 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 19:57:50 ]
ツール
> オプション
> プロジェクトおよびソリューション
> ビルド/実行

344 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 22:46:39 ]
ちょっと今ネット環境がなくて調べられないんで携帯から質問です

doubleの中身をchar型に変換するにはどうしたらいいですか?

コンソールではprintfで%fを指定すれば勝手に小数点以下6位まで表示されますよね?
wsprintfではできなくて困ってます

wsprintfでchar型にし、ダイアログのスタティックテキストに表示したいんですが、
double型だけどうしても分かりません

345 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 22:49:51 ]
wsprintfではできない

346 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 22:53:39 ]
swprintf ではダメなのか?
wsprintf じゃないとダメな理由があるのか?

347 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 22:54:19 ]
そうだったんですか;

何を使えば小数点以下を表示出来るでしょうか?

348 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 22:55:57 ]
StringCchPrintf

349 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 23:21:57 ]
できました!
早いお返事ありがとうございます。



350 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 15:44:50 ]
VisualC++ 6.0のファイルの展開で質問です。

ビルドして出来た実行ファイルを色んなPCで起動してみたところ
エクスプローラーのアイコンの表示を縮小版にしていると
何故かfopenやcreatefileといったファイルを開く関数が失敗しました。
一覧や詳細の表示ならば問題なく動きました。

また、表示を縮小版にしていてもVisualC++ 6.0から実行した場合は
関数で失敗することはありませんでした。
表示を縮小版にしなければ問題ないのでしょうが、
原因がわからないのも気味が悪いので、分かる方いましたら教えてください。

351 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 17:05:13 ]
エクスプローラがサムネ作るためのファイルアクセスと衝突してるんだろ

352 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:04:59 ]
フリーウェアでメニューからヘルプを選択するとマニュアル.htmが
開くソフトがありますが、あれはどのような関数を使ってますか?
IE.exeを起動するのは出来ますがIE.exe起動とマニュアル.htm
の結び付け方が分かりません。

353 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:24:32 ]
拡張子

354 名前:352 mailto:sage [2008/03/13(木) 22:08:57 ]
自己解決すますた。

355 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:24:41 ]
>>351
なるほど・・・ありがとうございます。
それではこの場合、どうすればファイルを開くことができるのでしょうか?

356 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 12:31:22 ]
VisualC++ 6.0を使用したいんですが有料ですか?
またどこで手に入りますか?

357 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 12:38:11 ]
www.microsoft.com/japan/msdn/subscriptions/
すでに販売終了してるけどサブスクライバダウンロードで入手可能

358 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 13:00:56 ]
ありがとうございます
早速ダウンロードさせてもらいます

359 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 13:06:39 ]
金持ちだな



360 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 13:47:54 ]
www.microsoft.com/downloads/details.aspx?FamilyId=A8494EDB-2E89-4676-A16A-5C5477CB9713&displaylang=ja

361 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 14:06:51 ]
>>355
衝突しないような共有モード指定するとか、オープンできるまでリトライするとか。

362 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:14:00 ]
VisualC++ 2005を起動しようとすると、問題が発生しましたと出て強制終了してしまいます
そこで新しく2008を入れて始めてみたのですが、途中から同じような症状になりました。どうしたらいいんでしょうか

363 名前:デフォルトの名無しさん [2008/03/14(金) 20:41:17 ]
Expressて、ライセンス登録してもほんとにタダなんですか??
すいませんがどなたか教えてください

364 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:17:31 ]
タダだよ馬鹿

365 名前:363です [2008/03/14(金) 22:00:17 ]
>>364

どーもありがと。


366 名前:デフォルトの名無しさん [2008/03/14(金) 23:05:53 ]
なんかうまくいかないので質問なのですが、

class test{
public:
int i;
test(){ test(1); }
test(int i){ this->i = i; }
}

こういう感じでコンストラクタをオーバーロードし、コンストラクタからコンストラクタを呼ぶことはできないのでしょうか?

367 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 23:18:16 ]
C++スレで聞け

368 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 23:21:30 ]
つーかiはないだろ

369 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 01:40:35 ]
>>366
普通は
class test{
public:
int i;
test(){ init(1); }
test(int i){ init(i) }
init(int i){ this->i = i;}
};
じゃねーか?
できるとしてもこっちだろ
でもできないような気がする
class test{
public:
int i;
test() : test(1){}
test(int i){ this->i = i;}
};




370 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 01:44:31 ]
コンストラクタというものがわかってらっしゃらない

371 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 07:30:38 ]
>>366 をやりたいだけなら、ディフォルト引数でいいんじゃね?

class test{
public:
int i;
test(int i = 0){ this->i = i; }
}

ディフォルト引数だと難しい (例えば、違う型の引数でオーバーロードしたいとか)
なら、>>369 のように共通部分をくくりだしたメンバ関数を作ればいいだけ。




372 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 09:07:55 ]
ディフォルトwwww

373 名前:デフォルトの名無しさん [2008/03/15(土) 09:24:06 ]
別に「デ」でも「ディ」でもいいんでない?
ttp://cougar.eb.com/soundc11/d/defaul01.wav

374 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 09:39:06 ]
ディスクトップパソコン

375 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 12:00:42 ]
ハードデスクドライブ

376 名前:デフォルトの名無しさん [2008/03/15(土) 13:14:45 ]
ディスク、デスクの場合とは違うっしょ。
ttp://cougar.eb.com/soundc11/d/desk0001.wav
ttp://cougar.eb.com/soundc11/d/disk0001.wav

377 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 13:36:59 ]
disk [di'sk]
default [difo':lt]

アクセント位置の違いなのかな


378 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 14:55:27 ]
デホルト

379 名前:デフォルトの名無しさん [2008/03/15(土) 16:19:21 ]
Visual Studio 2005 Standard と Visual C++ 2008 Express Edition
を使っています。時々 EUC で書かれたファイルを受け取って開いて
しまい、文字化けしてしまうのですが、ファイルを開くにあたって
想定する文字コードを指定して読み込ませることは可能でしょうか?

UTF-8 と ShiftJIS に関してはどうやら判別してくれるようですし、
保存する際の文字コードにいたってはわざわざ EUC-JP で保存する
こともできるようなのですが、読み込みの際には UTF-8 か ShiftJIS
かどちらか程度しか判別してくれないようです。

せめて「俺はこのファイルを開くときに文字コード○○のつもりで
開いたぜ」ってことがステータスバーに表示されるといいのですが。

マルチバイト文字を含んだソースコードとして
UTF-8, UTF-16LE, Shift-JIS, EUC-JP のものを受け取る可能性が
あるので、できれば Visual Studio のエディタで開く
文字コードに関してどんな判定がされているのかを知りたいです。



380 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 17:23:07 ]
他のエディタか変換ツール使えばいいだけ

381 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 18:38:43 ]
PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
// 描画処理
DrawMain();


}
}
// Direct3D オブジェクトを解放
RELEASE(lpD3DDEV);
RELEASE(lpD3D);
// 終了する
return 0;
}

382 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 18:43:16 ]
DestroyWindowでアプリを終了させたいのですが、ウインドウは消えるのですが、
プロセスが残ってCUPがんがん回ってるのですが、全部きれいに消すにはどうすればいいですか?

LRESULT CALLBACK procMainaa(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch (msg)
{
case WM_CLOSE:
MessageBox(NULL,"WM_CLOSE","test",MB_OK);
DestroyWindow(hWnd);
return 0;

case WM_DESTROY:
MessageBox(NULL,"WM_DESTROY","test",MB_OK);
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd,msg,wParam,lParam);
}

383 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 18:51:41 ]
さあ?

384 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 18:56:28 ]
> 全部きれいに消すにはどうすればいいですか
ブレークポイント等を活用しながらトレースし、
問題箇所を探っていこう。

385 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 21:04:38 ]
TranslateMessageの前に、
if( msg.message == WM_QUIT ) break;
でも入れたら?

386 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 21:46:59 ]
DestroyWindowにこだわるのは何で?

PostQuit・・・じゃダメなの?

387 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:19:54 ]
DestroyWindowは呼んでも呼ばなくてもいい
ただ自分で呼ばないときはDefWindowProcが代わりに呼ぶように作る
だからどっちみちDestroyWindowは呼ばれる

388 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 02:23:27 ]
Visual Studio 2008 Express Editions をインストールしたのですが

ファイル > 新規作成 > プロジェクト > 「新しいプロジェクト」のダイアログで
プロジェクト名を入力してもOKボタンが有効になりません。

OSは、XP Home SP2です。

389 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 07:57:00 ]
VC2008です。
L""でない""の文字列定数をANSI(SJIS)でなく、UTF-8にしたいのですが、どうすればいいですか。
ソースコードをUTF-8で保存しても、SJISにされるようです。



390 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 08:32:57 ]
WideCharToMulltiByte

391 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 08:45:39 ]
定数をUTF-8にしたいんですが…
実行時に変換するしか方法はないですか?

392 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 10:07:31 ]
あとはファイルから読み込むとか、
"\xe4\xb8\xAD"のように地道に十六進拡張表記を書くくらいしかない。

393 名前:デフォルトの名無しさん [2008/03/16(日) 10:27:27 ]
Visual C++ では wchar_t の文字列は
UTF-16 なんですか?それとも UCS2 なんですか?

394 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 11:08:08 ]
サロゲートペアを扱えたらUTF-16、そうでなければUCS-2。
それは冗談としても、最近のWindowsはUTF-16だから、
UTF-16として扱っておくのが吉。

395 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:47:44 ]
Windowsの内部でUnicode使ってるからVCでUnicodeを使うようになっただけだから
あくまでWindowsのためのUnicodeなんだと考えておいた方がいい。

396 名前:デフォルトの名無しさん [2008/03/16(日) 17:42:10 ]
結局マルチバイトじゃん・・・
いや、マルチワードじゃん・・・
まぁ合成文字とかもあるから仕方ないか。
いっそのこと Mule の内部表現にしてしまへ!

397 名前:デフォルトの名無しさん [2008/03/18(火) 01:45:20 ]
VisualC++6.0を使って一人でプログラムを作っているのですが、
だんだんとソースファイルが増えてきて60個ぐらいになりました。
これらのファイルは1つのフォルダに入れているのですが、
ファイル名の衝突が気になり始めました。衝突を防ぐ方法として
次の二つの方法を思いつきました。

(1) ファイル名にサフィックスやプリフィックスを付けるなどして
名前が重複しないようにする。(今まで通り、1つのフォルダに全て
のソースファイルを入れる。)

(2) ファイルをフォルダに分けて管理。

ソフトウェア開発の現場では多数のソースファイルをどのように
管理していますか?アドバイスをお願いします。

398 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 01:51:54 ]
>>397
ファイル名が衝突する=ファイル分割が間違っているorファイル命名が間違っている
とは思うけど、まぁよくあることだよな。
1も2も大差はないと思うけど見た感じ管理されてそうに見える2を選択するかな?
ただincludeパスを書くのが面倒かもしれないが・・・


399 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 01:56:41 ]
>>398
>ファイル名が衝突する=ファイル分割が間違っている
>orファイル命名が間違っている
>とは思うけど、まぁよくあることだよな。

適切にファイル分割して正しく命名すれば、ファイルがいくら
増えても名前が衝突することはないのですか?



400 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 02:00:48 ]
名前入れ忘れたけど399==397です。

401 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 02:01:45 ]
>>399
システムの規模にもよると思うけど、俺のしょぼい経験じゃまず無いように思う。
きちんと命名し、役割が変わってしまった、役割を分割したときなんかに正しくリネームしてれば無さそうだけど・・・

402 名前:397 mailto:sage [2008/03/18(火) 02:22:48 ]
>>401
とすると、開発の現場では1つのフォルダで全てのソースを管理する
のが一般的だということでしょうか? ちょっと意外です。

403 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 02:31:40 ]
>>402
いやいやw>>397の2だよ。いちばん深い階層で4くらいかな?
ファイル数はヘッダー含めて100位だと思う。数えたことないけど・・・
1フォルダあたりファイルが20超えるくらいから考え始めて、50超えたらまずフォルダわけする。
というか、ファイルが増えたからフォルダわけっていうより役割の分割が自然とフォルダ単位になる。

404 名前:397 mailto:sage [2008/03/18(火) 02:57:59 ]
>>403
やっぱりそうですか。ファイルの役割に着目してフォルダ分けする
のが自然ですよね。

僕の場合、Visual C++のFileViewのツリーで細かくフォルダ分けして
ファイルを分類しています。だから実際のファイルのフォルダ分けは
特に必要がないように感じていました。FileViewのツリーとWindowsの
フォルダのツリーを同じに保つのはめんどくさい(片方を変更したら
もう片方も変更しなければならない。)ので実際のファイルは分類せず
に1つのフォルダに放り込んでいました。

一人で開発していると、このような方法が一般的かどうかわからない
ので、アホなことをやってるんじゃないか、とか思うことが良くあります。


405 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 06:02:52 ]
一般的ではないアホなことをやっている

普通はプロジェクトごとにフォルダわけするだろ
さらに別プロジェクトでも共有するライブラリなどのヘッダも
別フォルダにしてパスを通す

406 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 08:37:57 ]
大量のソースがある巨大プロジェクトなのかと思ったけど
ファイル名の衝突とか言ってるから、今まで作ってきた全然関係ないプログラムが
1つのフォルダにごっちゃごちゃに存在してるということか?

407 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 12:33:31 ]
>>397
参考までに衝突する(した)ファイル名を教えてほしい
一人で作っていて名前が衝突するって考えられんのだが

408 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:04:09 ]
>>362みたいな感じでVisualC++起動時にエラーが出るんですけど、解決法は無いですか

409 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:06:35 ]
新しいパソコン買う



410 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:08:29 ]
>408
しつこい

411 名前:408 mailto:sage [2008/03/18(火) 19:21:38 ]
初心者に教えるスレでそんな風に言われても…

412 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:29:36 ]
いやだから新しいパソコン買えよ
てかまずPCスペックぐらい書けや

413 名前:408 mailto:sage [2008/03/18(火) 19:33:50 ]
>>412
WindowsXP HomeEdition
Intel Celeron M processor 1.60G
メモリ 704M

414 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:53:55 ]
OSから再インストール、それで駄目なら新しいパソコン買う

415 名前:408 mailto:sage [2008/03/18(火) 19:59:06 ]
分かりました。ありがとうございました

416 名前:デフォルトの名無しさん [2008/03/18(火) 21:47:42 ]
VC++2008でC++の勉強を始めたものです。新規プロジェクトでコンソールアプリを選択して
新規プロジェクトを作成し、そこに既存のCPPファイルとかヘッダとかを追加したのですが、
ヘッダがコンパイラに認識されておらず、コンパイル時にヘッダがないというメッセージが
でてコンパイルできません。どうすればよいですか?
どうかよろしくお願いします。

417 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:06:01 ]
ヘッダーがないなら
ヘッダーを用意しなきゃだめじゃない。

418 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:15:08 ]
>>416
全部がファイルシステム上で同じフォルダにあるか?
違うフォルダにあるなら、同一のフォルダにまとめてから追加しろ。


419 名前:デフォルトの名無しさん [2008/03/19(水) 00:43:20 ]
今windowsにログインしているユーザーに
管理者権限があるかどうかを判別する関数があれば教えてください。



420 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:51:44 ]
Administratorsグループに属しているかってこと?

421 名前:デフォルトの名無しさん [2008/03/19(水) 01:43:08 ]
すいません、今インストールするなら
Visual C++ 2008 再頒布可能パッケージ (x86)
だけでいいでしょうか?

Visual C++ 2005 再頒布可能パッケージ (x86)
も入れておいた方がいいですか?

422 名前:デフォルトの名無しさん [2008/03/19(水) 04:46:11 ]
最近VisualC++2005ExpressEditionをインストールして
簡単なHelloWorldプログラムを書いてビルドしようとしたのですが
エラーが出て先に進めなくなってしまいました。
OSはWindows2000。win32/コンソールアプリケーション/空のプロジェクト、で書いてます。

エラーの内容は以下です。↓
致命的なエラー C1902
プログラム データベース マネージャが一致していません。セットアップが正しく行われているか確認してください。

マニュアルによると対処方は以下です。↓
プログラム データベース ファイル (.pdb) は、
コンパイル時に検出されたものより DBI.dll のより新しいバージョンを使用して、作成されました。
最新バージョンの DBI.dll をシステムにインストールしてください。

しかしパソにはDBI.dllはインストールされておらず、どこから入手したものか見つかりません。

エラーの前に次の警告も出ていました。
警告 D9028 : 簡易リビルド時のエラーです、通常のビルドに戻します
マニュアルによると、
プロジェクトの .idb ファイルが破損しています。このファイルを削除して、リビルドしてください。

しかしそもそも.idbファイルが生成されていません。
プロジェクトのプロパティで簡易リビルドをオフにしたら出なくなりましたが、
要するに簡易リビルドできないということなので、どうも落ち着かないです。

もしわかる方いたらおしえてください。

423 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 06:10:26 ]
リビルド 最初から全部ビルドやりなおし
簡易リビルド 一部のファイルを除いてビルドやりなおし

一回リビルド通ったら次からは簡易リビルドで問題ないはず

424 名前:397 mailto:sage [2008/03/19(水) 08:05:03 ]
>>407
僕のプログラムでは、字句解析を行うLexクラスというクラスが
二つ必要です。二つのLexクラスを作って、別々の名前空間に入れました。

1つは、DIC::Lexクラスです。
もう1つは、CP::Lexクラスです。

これらのクラスのためのヘッダと実装のファイル名はともに
lex.hとlex.cppですから衝突しました。

僕はプリフィックスを付けて二つを区別しました。
(dlex.h, dlex.cpp) と (clex.h, clex.cpp)

これで不満はないのですが、プリフィックスを付けで衝突を避ける
代わりに、ファイルをフォルダで分類することによって衝突を避ける
という手もあるかな、と思ったのです。

425 名前:397 [2008/03/19(水) 08:06:51 ]
>>405さんのレスが非常に気になるのですが、僕が>>404で書いたことが
うまく伝わってないような気がするので、もう一度きちんと説明します。

僕のプロジェクトのフォルダ構造は次の通りです。

<CoolCorpus> プロジェクトのフォルダ
├<Release>
├<Debug>
├<souce>
├<data>
└<test>

上記のCoolCorpus\souceにすべてのソースファイル(26個の.hファイルと
36個の.cppファイル)をフォルダ分けせずに置いています。

62個のファイルは全てCoolCorpusプロジェクトに参加しています。
従って、ワークスペースウィンドウの "FileView" タブのツリーには62個の
ファイルが表示されています。

"FileView"タブのツリーは、フォルダを作って自由にカスタマイズできます。
そこで、僕はデフォルトで作成される3つのフォルダ

Source Files, Header Files, Resource Files

を削除してしまいました。そして以下のようにツリーを構成
しました。(ファイル数が多いので簡略化しました。)

426 名前:397 [2008/03/19(水) 08:07:21 ]
<CoolCorpus ファイル>
├ <下請け>
│ ├<StdAfx>
│ │ ├StdAfx.cpp
│ │ └StdAfx.h
│ └<File>
│   ├file.cpp
│   └file.h
├ <Core>
│ ├<Dictionary>
│ │ ├<Lex>
│ │ │ ├dlex.cpp
│ │ │ └dlex.h
│ │ ├<Freq>
│ │ │ ├freq.cpp
│ │ │ └freq.h
│ │ ├dictionary.cpp
│ │ └dictionary.h
│ └<Corpus>
│   ├<Lex>
│   │ ├clex.cpp
│   │ └clex.h
│   ├corpus.h
│   ├corpus1.cpp
│   ├corpus2.cpp
└ main.cpp

427 名前:397 [2008/03/19(水) 08:08:08 ]
1つのクラス用に hと.cppを作り、それらをセットにして一つのフォルダに
入れています。フォルダといっても、FileViewのフォルダです。
本当のフォルダ(Windowsのフォルダ)ではありません(念のため)。

ソースを読むときは、このツリーをクリックしてソースを表示させます。
"ClassView"タブは全く使いません。

さて、この方法は変でしょうか?
開発現場での方法が知りたいのですが。。。

428 名前:デフォルトの名無しさん [2008/03/19(水) 09:12:13 ]
以下のプログラムから出力される数字を、
wavファイルにするにはどうすればいいでしょうか・・

#include <iostream>
#include <math.h>
using namespace std;
const int rate=44100;

int p(double q, int f, int t)
{
const double pi=3.1415;
double x;
x=sin(2*pi*f/rate*q);
cout << int(x*127+128+0.4999);
cout << "\n";
if (f<t) p(q,f+1,t);
return 0;
}

int main(void)
{
p(440.0 , 0, rate);
return 0;
}

429 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 10:00:38 ]
WAVファイルのヘッダを知りたいのか
ファイルへのバイナリ出力が知りたいのか
まあ両方書いてもいいけど、それあっという間にスタック食いつぶさないか?
普通にループでいいべ。



430 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 10:14:09 ]
>427
オープンソースで開発してるのがいっぱいあるから好きなだけ見ればいい

431 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 10:36:46 ]
>>429
すみません、両方です。






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

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

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