★初心者にVisual C++ ..
21:デフォルトの名無しさん
07/04/15 00:08:40
WindowsXPでVisual C++ 2005 Express Editionを使っています。
「Windowsゲームプログラミング」という本のプログラムを実行してみたところ、
アクセス違反と表示されてしまいました。
デバッガでステップ実行してみるとWM_DESTROYのreturn 0;からDispatchMessageを出るまでの間に
表示されるのですが、どこが悪いのか分かりません。
どうしたらアクセス違反を無くせるでしょうか。
以下、出力抜粋とコードです。
test_window2.exe の 0x77d0f450 で初回の例外が発生しました: 0xC0000005: 場所 0x25a2c7fc を読み込み中にアクセス違反が発生しました。
test_window2.exe の 0x77d0f450 で初回の例外が発生しました: 0xC0000005: 場所 0x25a2c7fc を読み込み中にアクセス違反が発生しました。
プログラム '[3220] test_window2.exe: ネイティブ' はコード 0 (0x0) で終了しました。
#include <windows.h>
#define APP_NAME TEXT("Sample_MainWindow")
#define DRAW_STRING TEXT("Kitty on your lap")
LRESULT CALLBACK WindowProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
switch(uMsg) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow) {
WNDCLASS wc;
MSG msg;
HWND hWnd;
HDC hdc;
22:21
07/04/15 00:10:29
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_BACKGROUND + 1;
wc.lpszMenuName = NULL;
wc.lpszClassName = APP_NAME;
if (!RegisterClass(&wc)) return 0;
hWnd = CreateWindow(APP_NAME, TEXT("Window Title"),WS_OVERLAPPEDWINDOW | WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,NULL, NULL, hInstance, NULL);
if (hWnd == NULL) return 0;
/* デバイスコンテキストのハンドルを取得 */
hdc = GetDC(hWnd);
/* デバイスに文字列を描画 */
TextOut(hdc, 10, 10, DRAW_STRING, lstrlen(DRAW_STRING));
/* デバイスコンテキストのハンドルを解放 */
ReleaseDC(hWnd, hdc);
while(GetMessage(&msg, NULL, 0, 0) > 0) {
DispatchMessage(&msg);
}
return msg.wParam;
}
よろしくお願いします。
23:デフォルトの名無しさん
07/04/15 00:30:22
>>21
実行してみたが、ウチの環境では問題なし。
24:21
07/04/15 02:38:05
わざわざ実行までして頂いてありがとうございます!!
問題なしですか、どうしよう…
そうするとコードではなくてうちの環境が悪い可能性がありそうですね。
………
ということで環境を疑う前提で再度ググりまくってみたところ、おかげさまで解決策が見つかりました!
ImeWatcherというソフトを起動していたのですが、そちらを終了させるとアクセス違反が発生しなくなりました。
その結論に至った流れとしては、こちらのページ URLリンク(forums.belution.com)
を参考に出力に知らないソフトが混じっていないか見てみたところ、
なぜか起動中のソフトのdllがいくつか混じっていたため試しに一つ一つ終了させて確認していたら
それを終了させておけばアクセス違反が発生しないということが判明したという次第です。
これが相性とかいうやつなのか、単にImeWatcherのバグなのか分かりませんが、
原因(と一応の対策)がわかってすっきりしました。ありがとうございました。
下記はアクセス違反発生時の出力の抜粋です。
'test_window2.exe': 'C:\src\test_window2\debug\test_window2.exe' を読み込みました。シンボルが読み込まれました。
'test_window2.exe': 'C:\WINDOWS\system32\ntdll.dll' を読み込みました。シンボルが読み込まれていません。
'test_window2.exe': 'C:\WINDOWS\system32\kernel32.dll' を読み込みました。シンボルが読み込まれていません。
…
ここ→'test_window2.exe': 'C:\Program Files\Takubon\ImeWatcher\ImeWatch.hook' を読み込みました。バイナリはデバッグ情報と一緒にビルドされませんでした。
…
'test_window2.exe': 'C:\WINDOWS\system32\oleaut32.dll' を読み込みました。シンボルが読み込まれていません。
test_window2.exe の 0x77d0f450 で初回の例外が発生しました: 0xC0000005: 場所 0x25a2c7fc を読み込み中にアクセス違反が発生しました。
test_window2.exe の 0x77d0f450 で初回の例外が発生しました: 0xC0000005: 場所 0x25a2c7fc を読み込み中にアクセス違反が発生しました。
プログラム '[2644] test_window2.exe: ネイティブ' はコード 0 (0x0) で終了しました。
25:デフォルトの名無しさん
07/04/15 09:31:03
MS VC++ VS2005なんですが
#include <stdio.h>
int main(void)
{
FILE *fp1;
if( (fp1 = fopen( "d:\\tmp\\aaa.txt", "r" )) == NULL ){
}else{
}
}
だと、警告がでるんですが
でない書き方(fopenを使わない)を教えて下さい
26:デフォルトの名無しさん
07/04/15 09:55:25
どんな警告が出るんだ?
27:デフォルトの名無しさん
07/04/15 10:01:50
>>26
レスどうもです
warning C4996: 'fopen': This function or variable may be unsafe. Consider
using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNING
S. See online help for details.C:\Program Files (x86)\Microsoft Visual
Studio 8\VC\include\stdio.h(234) : 'fopen' の宣言を確認してください。
ググったらfopenは古いから使うなってことらしいです
28:デフォルトの名無しさん
07/04/15 10:09:51
>>27
移植性を考慮するなら、言語規約にあるfopen()を使うのが妥当。
MSの甘言に載せられて移植性を度外視するのなら、fopen()の派生版でもAPIでも使えば宜しい。
29:デフォルトの名無しさん
07/04/15 10:27:18
C/C++言語の初心者が使うには余計な機能
30:デフォルトの名無しさん
07/04/15 12:08:54
>Consider using fopen_s instead
31:デフォルトの名無しさん
07/04/15 12:21:21
>>21
GetMessage(&msg, NULL, 0, 0)
で&msgで参照する時、ImeWatcheあたりがmsg使ってて、
それでプロテクトメモリ競合が発生して、AccessViolation出してるっぽいなあ
while(GetMessage(&msg, NULL, 0, 0) > 0) {
DispatchMessage(&msg);
}
return msg.wParam;
}
を
REGETMESSAGE:
if(&msg){
while(GetMessage(&msg, NULL, 0, 0) > 0) {
DispatchMessage(&msg);
}
}
else{goto REGETMESSAGE;}
return msg.wParam;
}
なんてするとどうなるんだろか?
32:デフォルトの名無しさん
07/04/15 12:31:43
MSG msg;
で、このmsgがぶつかる場合というのは
ウィンドウメッセージキュー
なのか
PostThreadMessageキュー
どっちかで、他がつかんでて、ぶつかってるんだろう。
33:デフォルトの名無しさん
07/04/15 15:33:16
Web API(Yahoo! API)をVisual C++で使いたいのですが、
Web APIを利用するためのクラスなどはありませんか?
34:デフォルトの名無しさん
07/04/15 16:04:41
>>30
レスサンキューです
35:デフォルトの名無しさん
07/04/15 16:23:54
>>33
スレ違い。
そして無視される>28、>29
36:デフォルトの名無しさん
07/04/15 16:39:48
>>25
C++のstd::ifstreamを使えばOk
>>28
ところがどっこい、あのセキュリティ強化のライブラリ関数はTR 24731として公開されており、
下手すると将来の標準Cに取り込まれる可能性すらある。現時点ではまだどうなるかわからないけどな。
ちなみにOpen Watcomのも実装しているようだ。
37:デフォルトの名無しさん
07/04/15 18:07:53
>>36
M$のはSafer Cと相違点が多すぎる。
警告通りに直したら後でひどい目にあうのは確実。
38:デフォルトの名無しさん
07/04/15 18:18:01
fopen_s なんか使ってるやついるんか?
winアプリならapi使うだろうし
学習用途なら標準Cライブラリだろうし
39:デフォルトの名無しさん
07/04/15 19:32:11
XP VS2002 MFC。
大文字と小文字を区別せずに文字列(char)を検索したいのですが、
速くて簡単な方法ありましたら教えて下さい。
40:デフォルトの名無しさん
07/04/15 19:44:58
元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて
結局派遣やってるバカがいるんだけどw
なんか派遣先といい関係、とか言ってたから思わず吹き出しちゃったよw
最近はマネージャーもやってるとか寝言言ってるし、派遣がまねぇじゃぁ?はあ!?w
そもそも信頼されてるなら直接契約するか正社員にするはずだが、
いつでも切れる派遣会社経由って舐められてんだよ
派遣期間が長くならないうちに早く就職しろ、と忠告したら、ウッキー!って逆ギレw
バカで頑固だから何度言っても理解できない
騙されたとはいえ結局は自分で決めて派遣やってる癖に逆ギレしちゃってまぁ
人間として本当に恥ずかしい
41:デフォルトの名無しさん
07/04/15 20:23:48
>>39
stricmp()
42:39
07/04/15 21:36:55
>>41
レスありがとうございます。
先頭からstricmpで比較していって検索するモノが出来ました。
43:デフォルトの名無しさん
07/04/16 22:19:58
SDKで作ったサンプルプログラムですがアプリの動作で
ちょっとおかしなところがありまして質問します。
ファイルから読み込んでビットマップを表示させます。
画像がクライアント領域よりも大きければ、表示と同時にウィンドウ標準の
スクロールバーを各種設定をして表示させます。
スクロールバーはきちんと機能して画像がスクロールされます。
ところがウィンドウのサイズを小さくして水平スクロールバーが
クライアント領域が消えるくらいまで小さくすると水平スクロールバーが
消えたと思ったら下側のフレームに水平スクロールバーが薄く表示されています。
そこからもっとウィンドウのサイズを小さくするとタイトルバーの×ボタンに重なって
スクロールバーのサイズグリップが重なって見えます。
これでは見栄えが悪いと思い解決方法はないかと思い質問しました。
よろしくお願いします。
開発環境はVisual C++ 6.0 Pro
OSはXP Pro SP2
44:デフォルトの名無しさん
07/04/16 23:08:24
なんか難解な日本語だなw
下側のフレームに薄く表示されるって状態がいまいちわからんのだけど
言ってる各状態のスクリーンショットとか撮れん?
45:43
07/04/17 00:06:02
>>44
説明が下手で済みません。画面のスクリーンショットは自分のホームページに載せて
リンクしました。
以下がリンクです。
水平スクロールバーが下側のフレームに薄く表示されている画像。
URLリンク(www3.zero.ad.jp)
スクロールバーのサイズグリップがタイトルバーの×ボタンに重なっている画像。
URLリンク(www3.zero.ad.jp)
よろしくお願いします。
46:デフォルトの名無しさん
07/04/17 05:44:09
最小のサイズを決めておけば?
47:デフォルトの名無しさん
07/04/17 07:16:21
>>45
CreateWindowでウィンドウスタイルにWS_HSCROLLとWS_VSCROLLを指定してスクロールバーを出して
その時に一緒に表示されるサイズグリップの挙動ってことでいいんだよな?
VCが作る雛型にスタイル追加してやってみたけど、サイズ小さくしたら普通に消えていったけどなぁ
2000とXPの違いなんだろうか・・・
48:デフォルトの名無しさん
07/04/17 07:32:24
3つほど質問があります。
@C++はクラス外に関数を記述できますが、main()やWinMain()以外を
クラス外に記述する意味はあるのでしょうか?
単にCからの引き継ぎ、慣習ということであれば
なるべく全ての処理をクラス内に記述したいのですが。
AVisual C++には、JavaのLoggerクラスの様な標準ログ出力クラスは用意されていないのでしょうか。
見あたりませんでした。clogをリダイレクトする処理を実装するしかないでしょうか。
BGUIアプリを、コンソール出力無しに作成する場合は、
WinMain()関数を使用するしかないのでしょうか?(Google検索だとそのように記述するサイトがヒット)
機種依存するコードはなるべく外出し、極小化したいのですが、
WinMain()からmain()を呼ぶように記述するしかないでしょうか。
49:デフォルトの名無しさん
07/04/17 08:16:53
1. まあみんながみんなOOPというわけではないからね。
Cみたいな手続き型プログラミングだけでなく、
STLアルゴリズムみたいにジェネリックプログラミングでは非メンバ関数も必要に応じて使う。
何にせよ、OOPのときでも静的メンバだけのクラスなんて作るなんて馬鹿げていると俺は思うけどね。
2. Logger(というよりJava自体)を俺は知らないが、clogをリダイレクトするくらいなら、
適当なファイルをofstreamで開けば十分だと思う。ちなみにVC++のclogは、バッファリング付の標準エラー出力。
3. プロジェクトのプロパティ→リンカで
•システム→サブシステムにWINDOWS(コンソールを使わない指定)、
•詳細→エントリポイントにmainCRTStartup(main用のスタートアップルーチン)
を指定すると、mainから始まる非コンソールアプリケーションが作れるはず。
あまり一般的な手法ではないかもしれないが。
50:デフォルトの名無しさん
07/04/17 08:59:53
>>48
GUIアプリって時点で十分環境依存だからWinMainを排除したところで意味はないぞ。
51:デフォルトの名無しさん
07/04/17 09:07:46
>適当なファイルをofstreamで開けば十分だと思う。ちなみにVC++のclogは、バッファリング付の標準エラー出力。
(cin, )cout, cerrの他に用意されてるの?
#尤も、cerrはバッファリングしないが。
52:デフォルトの名無しさん
07/04/17 12:34:20
質問があります。
開発環境、実行環境ともにWindowsXP(SP2)
仕様環境はVC++6.0です
レジストリの
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR
のStartを3から4に書き換えた(USB大容量記憶デバイス禁止)状態で
USBポートに挿入されているリムーバブルディスクの確認(空き容量と場所(E:などの割り当てられる文字))を行う方法が
存在するのなら、ご教示ください。
53:デフォルトの名無しさん
07/04/17 20:27:35
>>48
1:C++は不完全OOPです。
2:所詮テキストをフォーマットしてファイルに出力するだけなのでそもそも特別に必要でない
3:Windowsの標準的なGUIアプリにおいてはそもそもコンソールなんて使ってません
ていうか規定のエントリポイントを排除しないでください
54:デフォルトの名無しさん
07/04/17 20:32:30
>>51
そうだよ
無論標準C++に含まれている
55:48
07/04/17 20:34:52
>>49
ご丁寧にありがとうございます。
1につていは、Javaの癖なんですよね。C++では非メンバ関数が当たり前ということであれば
郷に従う必要がありそうです。
2については、ログレベル(外部ファイルで、出力する下限レベルを設定)を
実現したいので、やはり個別実装しないと駄目なんでしょうね。
3については、なるべく一般的なコーディングを心がけて移植性を高めたいと思うので、
一般的でないなら止めた方が良さそうですね。
>>50
そのまま他でコンパイルできることまでは望みませんが、
このクラスは機種依存、と明確にして移植性を高めるのが目的です。
確かに、WinMainでそれを考える意味はあまりないのかもしれませんね。
イベントドリブンでなければともかく。
56:48
07/04/17 20:39:34
あ、返事中に新たな回答が。
>>53
1、そう意識していくしかないのでしょうね。
もっとも、自分で制約をかければほぼ完全にOOP的に
実装できそうだと思ってはいますが(それが良いかはともかく)
2、>>55で書いてしまったのですが、ログレベルを実現したいのです。
個別実装したいと思います。
3、わかりました。WinMainを使って素直に実装しようと思います。
57:デフォルトの名無しさん
07/04/17 21:00:15
Windows用のプログラムを作れる環境では、
どんなコンパイラでもWinMainが使えると思って平気。
その程度の移植性ならある。
58:デフォルトの名無しさん
07/04/17 22:16:19
ていうかWinMainが使えなきゃWindows用のGUIプログラムなんて作れなくね?
59:デフォルトの名無しさん
07/04/17 22:54:30
>>58
>>49
インスタンスハンドルはGetModuleHandle(0)で、
WinMainの最後の引数の代わりはSW_SHOWDEFAULTで代用すればいい。
(どうしても拘るのならGetStartupInfoと言う手もあるが)
60:デフォルトの名無しさん
07/04/18 07:37:19
そこまでする意味が理解できない件
61:デフォルトの名無しさん
07/04/18 07:58:28
環境依存コードはどうやったって出てくるだろうしね。
自分は環境依存コードにWinMain書いておいて、そこからmainを呼ぶようにしているが、
それは48氏が初めに書いているね。(それでいいと思うけど)
62:デフォルトの名無しさん
07/04/18 16:23:15
URLリンク(freepg.fc2web.com)
以前のパソコンで上のサイトよりVisual C++ 2005 Express Editionを
インストールできたのですが新しいパソコンでインストールできません(VISTA)
CDイメージ(.iso)インストール(AIR-EDGEだと途中でダウンロードが止まる)
Webからインストール(これで試しています)
Microsoft Platform SDK を一緒に使うで
[PSDK-x86.exe]を実行すると
下のメッセージがでます
「インストールパッケージを開くことができませんでした。
アプリケーションベンダに問い合わせ、このパッケージが有効な
Windowsインストーラパッケージであることを確認してください」
3日間悩んでいます>_<;よい意見などあれば宜しくお願い致します。<(_ _)>
63:デフォルトの名無しさん
07/04/19 00:34:31
Vistaを捨てるのはどうだろう。
64:デフォルトの名無しさん
07/04/19 10:52:50
MSに訊いてみるのはどうだろう。
65:デフォルトの名無しさん
07/04/23 22:44:35
Visual C++ 6.0で質問です。
サービスプログラムから複数のスレッドを起動し、中でDLL関数を明示的に
呼び出しているのですが、この関数に不具合があるらしく、アクセス違反が
発生するうえ、呼出元のスレッドごと堕ちてしまいます。
DLLを直せば済むんでしょうが、とある事情によりDLL自体に手を入れ難い状況です。
そこで質問なのですが、DLLのエクスポート関数内で発生した保護エラー等を
呼出元でトラップし、処理続行するようなことはできるものでしょうか?
よろしくお願いします。
66:デフォルトの名無しさん
07/04/23 23:01:36
自分がやってることは疑わずに悪いのはこの関数と決めつけてるし
ほっといてあげよう
67:デフォルトの名無しさん
07/04/23 23:20:49
適当に言うけど
catch(...)
で捕らえられんの?
68:デフォルトの名無しさん
07/04/24 01:08:41
>>66
仰るとおりです。以後気をつけます。
DLLのソースは入手しまして、fopen()が失敗した際にNULLが返っているにも
関わらずfclose()を実行してそこでコケているので、>>65 のような書き方を
してしまいました。
>>67
レスありがとうございます。
catch(...)で試してみたのですが、拾ってくれない(そこまで到達してない)
ようです。
一度通常のコンソールアプリに組み込んでトラップできるか試してみます。
何かお気付きの点ありましたら、お願いします。
69:デフォルトの名無しさん
07/04/24 08:20:39
プログラムの1機能的な例外ではなくOSが発する例外なのにcatchできるわけないべw
70:デフォルトの名無しさん
07/04/24 08:25:44
>fopen()が失敗した際に
失敗の原因が
>サービスプログラムから複数のスレッドを起動
だったりしないよな
71:デフォルトの名無しさん
07/04/24 17:02:09
>>68
/EHaを付けて、SEH (__tryと__expect)の方を使えば受けられるかもしれない。
SEHで受けられるなら、_set_se_translatorでC++例外へ変換する道が開ける。
72:デフォルトの名無しさん
07/04/26 07:55:05
>68
そのDLLの内部でfopen()お呼びfclose()が行われてるってことかな。
ソースあるなら呼ばないで自分で似たようなの作り直すってのはダメなのか?
あるいは、そのDLLの問題部分を完全に突き止めて、ここをこう直せと指摘するとか。
73:デフォルトの名無しさん
07/04/26 08:28:27
お前らの話しを全部理解できてないので間違えてるかもしれんが
俺も例外をcatch(...)で取れないことが最近あった。
で、調べた。
記憶が確かなら
VC6のころはメモリアクセス違反をcatch(...)で取れた。
VC2005はコンパイルオプションを変えないと
その手のCPUがだす例外をcatch(...)で取れない。
あるいは例外ハンドラを自分で書くのかな。
コンパイラオプションは覚えとらんので書けない。
とりあえずメモリアクセス違反を握りつぶすのも問題だから
VC2005でデフォルトが例外をcatch(...)で取れないようになったのは
妥当なことなのかな。
74:デフォルトの名無しさん
07/04/26 08:33:44
>>72
それが一番だよな。
エラー処理が不十分てことだからDLLを直させるべき。
でも自分の担当じゃないDLLの細部まで調べないと云々は納得いかんな。
社外の作成したDLLだからソースなしで
責任転嫁だとか本当にお前の担当部分にバグがないのかとか・・・
愚痴になってしまったのでおしまい。
75:デフォルトの名無しさん
07/04/26 09:30:00
>>73
C++例外でないアクセス違反を、C++の構文で捕捉できた事が異常。
76:デフォルトの名無しさん
07/04/26 17:52:57
>74
>でも自分の担当じゃないDLLの細部まで調べないと云々は納得いかんな。
他人に直させるにしても、問題が本当に相手のソースにあるのかまではつきとめないと
やっぱり自分のミスでしたって事になった場合、人間関係に亀裂が入り易いからなぁ。
(はっきり指摘してやって逆ギレするのもいるが、そういうのは置いといて^^;)
少ない修正で済むような問題なら、教えてやった方が結果的にロスタイムも少ないしな。
77:デフォルトの名無しさん
07/04/26 18:43:19
なぜfopen()が失敗するのか
78:デフォルトの名無しさん
07/04/26 19:02:47
>>76
別に細部まで調べなくても
渡すデータがDLLの仕様どおりで、呼び出し部以外でコケてなけりゃどう考えてもDLLの問題だし
79:デフォルトの名無しさん
07/04/26 19:10:47
下手に全部調べてからDLL担当者に「バグってますよ」というより、
「巧くいかなくて困っているんで、DLL側で助けてもらえませんか」と下手に出たほうが
協力を得やすく労力も減るかもしれない。
80:デフォルトの名無しさん
07/04/26 19:27:43
もしそのDLLが普通に使われてるんなら
仮にバグがあったとしても今まで問題にならなかったということだ。
81:デフォルトの名無しさん
07/04/26 19:47:25
とある事情によりDLL自体に手を入れ難い状況ということは今まで何事もなく使われてたんだろ
82:デフォルトの名無しさん
07/04/26 21:40:04
まあ、ファイル名を引数等で指定して処理させるような形だったら
一度呼び出し側でfopen()して開けなきゃDLLの関数は呼ばなきゃいいんじゃね?
2度手間になるから、もちろんいじれるならDLLいじった方がいいが。
83:デフォルトの名無しさん
07/04/27 08:03:55
VC++ .NET 2003のオプションで指定するインクルードファイルとかのパスって
どこに保存されてるの?
84:デフォルトの名無しさん
07/04/27 11:32:52
デフォルトの設定 レジストリ
プロジェクトの設定 プロジェクトの定義ファイル
85:デフォルトの名無しさん
07/04/27 19:15:31
レジストリ内の場所ってわかる?
レジストリエディタで目的のパスで検索かけてもHitしないんだけどさ・・・
ちなみにオプションのVC++ディレクトで設定する、インクルードファイルとか実行可能ファイルとか指定するとこなんですが
86:デフォルトの名無しさん
07/05/06 14:30:15
VC++2005なんですが
自作のクラスにメンバを追加したり、STLなどの既存のクラスを読み込んだりしたときに
かなりの頻度で、プロジェクトを閉じて開いたり、VSを再起動したりしないと
:: や . や -> などを入力した後の一覧に追加したメンバが表示されないのですが
再起動などせずに解決する方法は無いのでしょうか
87:デフォルトの名無しさん
07/05/06 20:29:25
MSに要望出せ
88:デフォルトの名無しさん
07/05/08 20:40:19
なぜかある場所でメンバ関数呼び出すと
thisポインタを使わないとメンバ変数が使えなくて
thisで指定しないでその変数に行くとランタイムエラーだされるんですが
これはメモリの領域破壊のバグのひとつでしょうか?
89:デフォルトの名無しさん
07/05/08 21:05:01
ある場所をはっきりさせてから質問してください
90:デフォルトの名無しさん
07/05/08 21:09:54
ランタイムエラーが出るんならランタイムに行ってんだろ
91:デフォルトの名無しさん
07/05/08 21:14:06
ランタイムの使い方がおかしいんだろうね。
その辺りのコード晒してみ?
92:デフォルトの名無しさん
07/05/09 15:54:38
スレ違いでしたらすみません。
質問があります。
ホームページビルダーを久しぶりに起動したら、
次のようなエラーメッセージが出て、起動できなくなりました。
何か解決方法はありますでしょうか?よろしくお願いします。
環境はOSがXP、HBはV9です。
-----------------------------------------------------
Microsoft Visual C++ Runtime Library
Assertion failed!
Program: ... Files\IBM Homepage Builder V9\bin\hpbpage.exe
File: .\RegistryBase.cpp
Line: 81
Expression: code == ERROR_SUCCESS
-----------------------------------------------------
93:デフォルトの名無しさん
07/05/09 16:19:41
ホームページビルダー作った会社に訊け
94:デフォルトの名無しさん
07/05/09 18:57:27
>>92
ここは「Microsoft Visual C++を使う人」のためのスレです
Microsoft Visual C++を「使って作られたソフトを使う人」はお帰りください
95:デフォルトの名無しさん
07/05/09 21:27:25
ウェブ上に公開されているサンプル プロジェクトをビルドすると、次のエラーが出て失敗します。
環境はWinXP、VC++2005です。
> error C2678: 二項演算子 '<' : 型 'const ErrorEntry' の左オペランドを扱う演算子が見つかりません (または変換できません) (新しい動作; ヘルプを参照)。
> c:\program files\microsoft visual studio 8\vc\include\xutility 267
試したサンプルはWinsock Programmer's FAQのAsynchronous I/O Clientです
URLリンク(www.kt.rim.or.jp)
(ページの下のほうの「project package (33 KB)」からダウンロード)
ファイルはVC++5のプロジェクトが丸ごと圧縮されており必要なものは全てそろっているそうです。
VC++2005でプロジェクトを変換して開いたのですが、上記のようになりました。
エラーの場所が場所なのでコンパイラに渡すオプションあたりをいじる必要があるのでしょうか?
ご教示お願いします。
96:デフォルトの名無しさん
07/05/09 21:40:31
全然関係ないけど
P.J. Plaugerが自ら語るVS2005搭載C++テンプレートライブラリ
STL.NET
97:デフォルトの名無しさん
07/05/09 23:36:26
従来のSTLの機能の大半は.NET Frameworkクラスで事足りるのにSTL.NETとはこれいかに
98:デフォルトの名無しさん
07/05/09 23:39:31
>>97
まぁ読んでみれ
URLリンク(www.microsoft.com)
99:デフォルトの名無しさん
07/05/10 20:00:32
なんでこう、バージョンアップするごとにIntelliSenseがバカになってくいんだ・・・
100:デフォルトの名無しさん
07/05/10 20:03:28
新しいものに慣れるのがつらい年頃なのかね。
101:デフォルトの名無しさん
07/05/10 20:19:52
そうか、いくらファイルを保存してもインテリの情報が更新されないのが新しいものなのかw
102:デフォルトの名無しさん
07/05/11 00:49:58
>>99
IMEも98ぐらいの時が一番賢かった気がする。
103:デフォルトの名無しさん
07/05/11 00:55:58
それはない
104:デフォルトの名無しさん
07/05/11 08:08:03
ATOK使おうぜ
105:デフォルトの名無しさん
07/05/11 17:06:10
いやVCのインテリは付いたときから馬鹿だろ
それだけがVBの取り柄
106:デフォルトの名無しさん
07/05/11 19:29:34
>>104
そのあたりは無理に標準でついてるもの以外を使う必要が無いからなぁ
107:デフォルトの名無しさん
07/05/11 23:10:48
Japanist2003
108:デフォルトの名無しさん
07/05/14 17:47:08
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPTSTR lpCmdLine,int nCmdShow){
MessageBox(NULL,lpCmdLine,"1",MB_OK);
if (lpCmdLine=="/abc"){
MessageBox(NULL,lpCmdLine,"2",MB_OK);}
return 0;}
これで実行ファイルを1.exeとしますと、1 /abcとコマンドラインから実行しても
2つ目のメッセージボックスが出ないんですが何故でしょうか?VS2005,WinXPです。
109:デフォルトの名無しさん
07/05/14 18:22:15
何それ?
110:デフォルトの名無しさん
07/05/14 19:04:09
>>108
文字列の比較方法を調べなさい
111:デフォルトの名無しさん
07/05/14 19:15:58
できました、ありがとうございました。
112:デフォルトの名無しさん
07/05/14 20:03:30
_tWinMain
113:デフォルトの名無しさん
07/05/18 22:31:06
他のC++用IDEにある、IntelliSense同等の機能の方が、圧倒的に性能いいの?
114:デフォルトの名無しさん
07/05/19 02:34:02
他は知らんが
個人的には VS2003 のインテリセンスの具合が好き
2005 はインテリセンスに限らず全体的使えないと思う
115:デフォルトの名無しさん
07/05/19 09:18:05
あー俺も。2003から離れられない。
116:デフォルトの名無しさん
07/05/19 09:57:05
pimplイディオムを使うとインテリセンスも利かなくなるんだけど
これって意図された動作なのかただの偶然なのか?
117:デフォルトの名無しさん
07/05/19 12:09:55
昔VC6.0で作ったプログラムをVC2005に移植したいんですが、
そのままだとビルド出来ませんでした。
プロジェクト自体は変換とか出来たんですが、StdAfx.hでインクルードされてた
Windows ヘッダー ファイル群(windows.hとか)が、No such file or directoryでエラーになります。
かといってこれを外したらコンパイル通らないし・・。
1から組むのは大変なんで、何とか使い回せないかと思うのですが、
何かいい方法ありますでしょうか。
118:デフォルトの名無しさん
07/05/19 12:12:36
Express EditionでPlatform SDKをインストールしてないとか、
パス通してないとかってオチはないよな?
119:デフォルトの名無しさん
07/05/19 12:16:38
No such file or directoryぐらいの簡単な英語なら理解できるだろ
120:デフォルトの名無しさん
07/05/19 12:23:22
>>117
おいおい初心者の俺でも分かるぜ。
121:117
07/05/19 14:01:08
117です。
すみません、仰るとおり、SDKをインストールしていませんでした。。。
インストールしたらインクルードは解決しました。
今度はコンパイルエラーとwarningがいっぱい出てきましたが
ワーニングは無視してコンパイルエラーを修正。
(コンパイルエラーは for(int i=0) の i を for以降で使ってました)
次に「ファイル 'LIBC.lib' を開くことができません」が出ましたが、これはググッて解決。
(プロジェクトのプロパティで特定ライブラリの無視にLIBC.lib追加。)
現在、このエラーと格闘中です。
「zlib.lib(gzio.obj) : error LNK2019: 未解決の外部シンボル _errno が関数 _gz_open で参照されました。」
122:デフォルトの名無しさん
07/05/19 14:21:28
VCのインテリセンスは昔からウンコ
123:デフォルトの名無しさん
07/05/19 14:27:05
errno は VC2005 だとマクロになってた気がするよ。
余計な warning が鬱陶しければ #pragma warning(disable:警告番号) で消した方が。
124:デフォルトの名無しさん
07/05/19 14:27:29
こんどはzlibの追加だネ!
125:デフォルトの名無しさん
07/05/19 15:24:53
VC2005についてるSTLとSTLportでは何が違うの?
126:117
07/05/19 15:37:14
117です。
zlib.libを作り直そうと思って調べてるんですが、
VC2005でStatic Libraryは作れないんでしょうか?
2005、全部1から作るには楽なんだろうけど、ちょっと違うコトしようとしようとすると途端に・・
127:デフォルトの名無しさん
07/05/19 15:43:35
初心者の俺でも作れるし
128:デフォルトの名無しさん
07/05/19 17:31:04
VC6使ってたんなら初心者というわけじゃないだろうし
自分で調べてみるぐらいしようよ
ちょっとでも調べてたらそういう質問はないと思う
129:デフォルトの名無しさん
07/05/19 20:10:17
ダイアログの大きさがフォントの大きさによって変わってしまうのですが、
常に設計時の大きさになるようにする設定ってありますか?
130:デフォルトの名無しさん
07/05/19 20:12:03
あ、実行時にフォント変えてもダイアログの大きさは変わらないのかな?
↑は無視してください。
131:デフォルトの名無しさん
07/05/19 20:28:46
VC++.NETとVC++とは違うものなのでしょうか?
132:デフォルトの名無しさん
07/05/19 20:34:45
.NET使わないなら単なるVC7、VC8
133:デフォルトの名無しさん
07/05/19 20:55:23
>VC2005についてるSTL
そもそもそんなものは無い
134:デフォルトの名無しさん
07/05/19 20:55:34
クグって見たんですが.NET Framework?MFC見たいな物?
VC++ .NET?って?
.NET Framework?って?
VC++6.0で知識が止まってますorz
135:デフォルトの名無しさん
07/05/19 21:10:09
VistaマシンでVC6.0は使用できないのでしょうか。
(「VMWare等で旧OS(XPや2k)入れて使え」と言うのは取り合えず置いておいて)
インストール試してみようと思いsetup.exe実行
→「このプログラムには基地の互換性の問題があります。」
と表示されたところでいったん止めてWeb漁ってるのですが、なかなか有効な解放が得られず。。。
136:デフォルトの名無しさん
07/05/19 21:33:02
>>134
JavaのVMに相当
137:デフォルトの名無しさん
07/05/19 21:40:23
VC++.NETという表現は使われなくなりました。
138:デフォルトの名無しさん
07/05/19 21:52:02
>>135
MS的にはサポート外です。
139:117
07/05/19 22:08:00
117です。
何とか解決しました。
ググってはいたんですが、VS2005の用語が全然分からなくて、とっかかりがなかったです。
ソリューションて何?とかいう浦島太郎状態で。
5年前に自作したツールの、数字を決め打ちしてた部分を1カ所直したいだけだったんですが
結局ビルド通すのに丸一日かかりました。
で、通ったら今度はデータが読めない・・・。
fwrite(this,sizeof(Cdata),1,fp);
ってやってクラス丸ごとバイナリで保存しておいたデータを
fread(this,sizeof(Cdata),1,fp);
で読み込んでるんですが、読み込んだデータが化けてるっぽい。
この辺の仕様も変わっちゃってるのかなぁ・・・
140:デフォルトの名無しさん
07/05/19 22:16:11
ひとりごと
141:117
07/05/19 22:25:25
昔に保存したデータをあきらめて、データ作り直したら行けるっぽいです。めんどいけど。
長々チラ裏に付き合ってもらってありがとうございました。
142:デフォルトの名無しさん
07/05/19 22:45:48
考えられる原因はこんなとこか?
バイナリモード指定していない
アラインメントの指定がおかしい
データ型の大きさが変わった (ex time_t)
143:デフォルトの名無しさん
07/05/19 22:46:43
インスタンスのメモリイメージをそのままをバイナリ保存って無謀すぎ。
普通はシリアライズ用関数とか用意するもんだ。
144:デフォルトの名無しさん
07/05/19 22:47:52
あと、文字列がANSIだったとか。
145:デフォルトの名無しさん
07/05/19 22:57:12
手抜きなんだからしょうがない
146:デフォルトの名無しさん
07/05/19 23:04:21
>>117
vtable の事もたまには思い出してあげてくださいね。
147:デフォルトの名無しさん
07/05/20 06:42:57
どうせ ANSI 文字列をユニコードで表示しようとしてるんだろう。
148:デフォルトの名無しさん
07/05/20 17:31:22
旧バージョンのVisual C++4.0で「コンソールプログラムを作成する」
というような使用条件であれば、十分に活用できますか?
(主にRS232CをWin32APIから使用するのが目的です)
また、当時NT4.0との組み合わせで不具合(多分使用できない機能?)
があるとかの話を耳にしたような記憶があります。
WinXPおよびWin2000での動作はどうでしょうか?
バージョンからして、既に現状に沿った話でなくて恐縮ですが、ご教示下さい。
149:デフォルトの名無しさん
07/05/20 17:37:58
そこまでしてVC4を使う理由が判らない。
つーか、Win32APIからRS232Cを使うというのが何を意味しているのか判らない。
単にシリアル伝送したいだけならmodeコマンドで条件設定してcopyコマンドでもtypeコマンドでもできるだろうに。
150:デフォルトの名無しさん
07/05/20 17:40:38
XP+VC5を使ってる人は知ってるけど、
VC4はわからないなぁ。
151:デフォルトの名無しさん
07/05/20 17:42:38
昔のプログラムでも動くのは動くし、動かないのは動かない
適当なの探してきて動かしてみればいい
152:デフォルトの名無しさん
07/05/20 18:48:47
include の path 指定の書式について質問です。
stdafx.h
#include <../creptopp/sha.h>
と記述してこれをコンパイルすると、
--------------------------------------------------------------------------------
コンパイルしています...
debug.cpp
c:\test\Anonymous\stdafx.h(126) : fatal error C1083:
include ファイルを開けません。'../../creptopp/sha.h': No such file or directory
--------------------------------------------------------------------------------
ファイルの階層は下のようになっています。
test
- creptopp/
- Anonymous/stdafx.h
#include <sha.h>
#include <../creptopp/sha.h>
#include <../../creptopp/sha.h>
と試してみたのですが、うまくいきませんでした orz
どうぞよろしくお願い致します。m(__)m
153:152(追記)
07/05/20 18:53:27
* Crypto++ Library 5.4
URLリンク(www.cryptopp.com)
cryptopp/sha.h
cryptopp/sha.cpp
展開するとみたいになっていました。これを利用したいです。
154:デフォルトの名無しさん
07/05/20 18:54:15
#include <file-name>
使うならちゃんとpath通しとけよ
155:デフォルトの名無しさん
07/05/20 18:59:35
>>152
相対パスの元は、stdafx.h の場所ではなく
コンパイルしている cpp の置かれた場所なんじゃね?
156:デフォルトの名無しさん
07/05/20 19:13:50
解凍してそのまんまビルド
ライブラリができたらヘッダとlibを適当な場所へ置いて使うだけ
157:デフォルトの名無しさん
07/05/21 21:29:58
C++で普通に関数にするのとクラスのメンバ関数にするのとではとちらが遅いのでしょ?
158:デフォルトの名無しさん
07/05/21 21:38:42
一概には言えない。コンパイラの最適化で、実質的な差が出ない可能性も高い。
速度に関しては、個別に実測する以外は全てただの憶測。
159:デフォルトの名無しさん
07/05/21 22:33:48
オーバーヘットとかは無いの?
160:デフォルトの名無しさん
07/05/21 22:40:45
非仮想関数ならthisを積む程度の差しかないだろうなあ
まぁそんなこと考えるのは時間の無駄だから、コードの見易さ・美しさを考える方がいいよ
161:デフォルトの名無しさん
07/05/22 00:00:15
>オーバーヘットとかは無いの
なんですか? その「オーバーヘット」って。
162:デフォルトの名無しさん
07/05/22 00:06:05
夏塩蹴
163:デフォルトの名無しさん
07/05/22 00:54:16
まあ韓国の文化は冷麺のどんぐり麺?あれだけは評価できるね
164:デフォルトの名無しさん
07/05/22 01:07:28
VC++2005アカデミック日本語版で質問です
「warning C4996: 'scanf' が古い形式として宣言されました。」
scanf()を使うと2005から上記の警告が出ることはググって分かったのですが
当方の警告文は全て英語のままで上記の一文が出てきません
↓これだけ
'This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
日本語の警告文の説明を表示させたいのですがどこを設定すればいいのでしょうか?
よろしくお願いします
165:デフォルトの名無しさん
07/05/22 07:41:21
C4996でググればいい。
というより、MSDNライブラリインストールしろ
166:デフォルトの名無しさん
07/05/22 07:58:06
役に立たねぇ香具師だなぁ。警告を日本語にしたいって書いてんだろ。
C4996だけの問題じゃねぇんだよ。判ってねぇなら書くなよ。
167:デフォルトの名無しさん
07/05/22 08:11:29
すいませんした。俺が悪いんです。この通りです。許してください。読み違えただけなんです。怒らないでください。日本語にするやり方分かります。でも教えないです。ごめんなさい。
168:デフォルトの名無しさん
07/05/22 08:13:17
どんな警告・エラーもCxxxxの番号が振られているんだから、
C4996以外もその番号でググればいい。
169:デフォルトの名無しさん
07/05/22 09:58:06
わざわざ英語で出るように自分で設定変えたくせに
元に戻す方法は人に聞くのってどういう了見なんだ?
170:デフォルトの名無しさん
07/05/22 11:00:13
C4996でググったらみんな日本語で警告が出るのに
俺の環境じゃ英語しか出ねえよ
て解釈した
英語にアレルギーがあるかしらんがこの機会に慣れたら?
171:デフォルトの名無しさん
07/05/22 11:32:05
VC++2005日本語版に付属のコンパイラとは別に英語版のコンパイラも入れたの?
172:デフォルトの名無しさん
07/05/22 11:33:59
特に何もしてない
173:デフォルトの名無しさん
07/05/22 11:37:29
何もしないで変わるかっつーの
174:デフォルトの名無しさん
07/05/22 13:00:30
MSのサポートに訊けばいい
175:デフォルトの名無しさん
07/05/22 17:58:17
MSマンセー
176:デフォルトの名無しさん
07/05/22 18:24:09
誰かがVC++2005EEでも入れて混ざってんじゃないのかね
177:デフォルトの名無しさん
07/05/22 21:31:25
VS2005無印にSP1当てたら俺も英語だけになったぞ
でもたいして問題じゃねえしMSDNライブラリあれば心配ねえよ
178:デフォルトの名無しさん
07/05/22 23:27:34
それは、英語版のSP1を入れてしまったのでは?
179:デフォルトの名無しさん
07/05/23 09:56:28
(´,_ゝ`)プッ ソンナオチダッタノカ
180:デフォルトの名無しさん
07/05/23 11:14:52
んなわけない
181:デフォルトの名無しさん
07/05/23 11:24:41
そうだな。
本人は「特に何もしてない」と言ってるんだからSP1だってあててるわけが無い
182:デフォルトの名無しさん
07/05/23 11:31:01
痴呆か。
183:デフォルトの名無しさん
07/05/23 11:31:36
俺もSP1当てたからかしらんが英語だよ
その程度の日本語の説明なら要らんけど
あと、うちはProfessionalだな
184:デフォルトの名無しさん
07/05/23 11:38:23
SP1入れてない。
MicrosoftUpdateで時々入れようとしてるんだけど毎回失敗する。
185:デフォルトの名無しさん
07/05/23 14:17:33
俺も前失敗続いてたけど最近あらためてやったら成功したな
何が原因だったんだろ
186:デフォルトの名無しさん
07/05/23 14:43:17
ちょっとツンだっただけさ
187:デフォルトの名無しさん
07/05/23 17:18:31
SP1を当てたが別に英語になっていないぞ
188:デフォルトの名無しさん
07/05/24 10:37:27
MFCで×ボタンを押してアプリケーションを終了するとき
どこになんと言う名前でその処理が書かれているか教えてください
終了するときに処理を付け加えたいのでお願いします
189:デフォルトの名無しさん
07/05/24 10:54:40
WM_CLOSEのハンドラを追加
190:デフォルトの名無しさん
07/05/24 10:58:08
SC_CLOSE → WM_CLOSE → WM_DESTROY
の順じゃないかな。それぞれのデフォルトハンドラで
MFCだと、OnSysCommand() からクローズ投げて
OnClose() が呼ばれ、そこでDestroyWindow()して OnDestroy()が呼ばれる。
もしかしたら違うかも。spy++やデバッガで確認してみて
191:デフォルトの名無しさん
07/05/24 11:00:22
処理内容によっちゃExitInstanceでという選択肢も
192:デフォルトの名無しさん
07/05/24 11:16:42
ありがとうございます処理内容はダイアログを表示させて
パスワード入力とOKボタンを押し終了させるものです
パスワードが違っているかキャンセルボタンを押した場合終了しません
という処理をしようと思っています
193:デフォルトの名無しさん
07/05/24 11:47:00
クラックしてやんよ
194:デフォルトの名無しさん
07/05/24 11:47:19
連レスすいません
ハンドラの追加でON_WM_CLOSE()を追加したんですが
対応する関数に反応ありませんでした
195:デフォルトの名無しさん
07/05/24 11:54:15
×ボタンってダイアログの話なの?
何がどうなってるのかよくわからん、反応が無いとは何で判断?
196:デフォルトの名無しさん
07/05/24 11:57:31
>>195
フォームビューによるダイアログです
プロパティのメッセージから追加しました
ブレークポイントをつけて通っているか判断しました
197:デフォルトの名無しさん
07/05/24 11:58:45
URLリンク(www.kumei.ne.jp)
↑簡単に言うとこういうことをMFCでやりたいのです
198:デフォルトの名無しさん
07/05/24 11:59:40
んーと、WM_CLOSEが来るのはその閉じるウィンドウにくるんだよ。
こないのはおかしいね。spy++で観察してみては。
199:デフォルトの名無しさん
07/05/24 12:14:47
spy++でみてみるとWM_CLOSEはちゃんとありました
200:デフォルトの名無しさん
07/05/24 12:17:58
エスケープキーでダイアログが閉じないようにするので、そのへんやったことあるけど
ダイアログベースじゃない場合は、どのクラスがメッセージを処理してるかだな
201:デフォルトの名無しさん
07/05/24 12:25:40
sdi/MDIでeditビューの場合は編集中にプログラム閉じようとすると
保存しますか?
みたいな確認でたような気がするけどどうだったかな?
202:デフォルトの名無しさん
07/05/24 12:27:28
観察した結果は
WM_DESTROY→WM_NCDESTROY→WM_CLOSE→WM_SYSCOMMAND
でした
203:デフォルトの名無しさん
07/05/24 12:45:28
CMainFrame::OnCloseにちゃんと来るじゃん
そのあと閉じていいか確認が出る
204:デフォルトの名無しさん
07/05/24 13:13:44
閉じていいか確認が出ないのですが
CMainFrame::OnCloseをオーバーライドして使えばいいということですか?
そこも通らないような・・・
205:デフォルトの名無しさん
07/05/24 13:15:33
あとWM_DESTROYは反応ありましたがウィンドウが閉じたあとでした
206:デフォルトの名無しさん
07/05/24 13:24:39
sdi/MDIでeditビューが基本
最初からそういう風に動作するようになってる
207:デフォルトの名無しさん
07/05/24 13:37:57
>>205
まあいろいろ試してあちこちにハンドラ置きまくってみればいろいろわかることもある。
208:デフォルトの名無しさん
07/05/24 13:40:25
通りました!!CMainFrame::OnCloseでした!!
ありがとうございます!
209:デフォルトの名無しさん
07/05/24 16:34:45
自作ダイアログ表示させようとしたら
自分でつけたコントロールのほかに
TODO: コントロールをここに置く のテキストボックスと
OKとキャンセルボタンがついてごっちゃになってました
Jisakudlg dlg(this);
dlg.DoModal();
なぜなのか教えてください
210:デフォルトの名無しさん
07/05/24 16:47:48
>>209
ダイアログの選択したパーツを整列するボタン押したんじゃないの?
211:デフォルトの名無しさん
07/05/24 16:52:44
すいませんよくわからないですけどhtmlが入ってたみたいで
作り直したらいけました
212:デフォルトの名無しさん
07/05/24 22:34:23
可変個引数の簡単な使い方(できれば、va_arg,va_end,va_startを使わない)を教えてください。
やりたいことは、下記のようにprintf系の関数に引数をそのまま渡したいのです。
void printfWithHeader(char *str, ...) {
char buf[1000] = "Header:";
strcat(buf,str);
printf(char *str, ...);
}
環境は、Visual Studio 2003です。
皆様、お願いいたします。
213:デフォルトの名無しさん
07/05/24 22:53:23
VCというか普通のCの質問だろ
そんなことをわざわざVCスレで質問する意味がわからん
214:デフォルトの名無しさん
07/05/24 22:57:12
できません
規約も護れないやつぁ帰れ
215:デフォルトの名無しさん
07/05/24 23:00:07
vprintf 系を使えよ・・・。
216:デフォルトの名無しさん
07/05/25 00:06:50
Visual Studio.net2003を使っているのですが、
UTF-8のソースを扱うにはどうすればいいのでしょうか。
コンパイルはできるのですが、日本語の表示ができません。
217:デフォルトの名無しさん
07/05/25 00:24:02
>>215
thx.
vprintf系でできそうです。
>>213
> VCというか普通のCの質問だろ
> そんなことをわざわざVCスレで質問する意味がわからん
レスありがとうございます。
VCの拡張機能も含めて、回答を頂きたかったからです。
老婆心ながら、>>213さんは行間をうまく読めないようですので、コミュニケーション能力を鍛えた方がよろしいかと思いました。
218:デフォルトの名無しさん
07/05/25 00:27:25
質問等で、行間を読んでくれる事に期待するってのは、
一般社会ではコミュニケーション能力不足と判定されます。
219:217
07/05/25 00:29:21
確かにその通りですね... (-_-;)
220:デフォルトの名無しさん
07/05/25 00:34:52
>>216
先にShift_Jisに変換してからコンパイル、が一番楽。
.NETベースのコンパイラは、文字列=Unicodeで保持、と決め打ちできるんだけどねえ。
221:デフォルトの名無しさん
07/05/25 00:51:21
Windows は UTF-16 で動いてるけど、
.NET を通す場合だとどうなんだろう。
よく知らん。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4779日前に更新/109 KB
担当:undef