mfc-ml

2001年05月

31

[mfc 31471] Re: [mfc 31463] アプリケーションがある仕事を終えたら自動終了したいのですが。

はじめまして
かずたです。

> Windows98  Visual C++ Ver6.0 を使用しています。
> フォルダーの中に、ある特定のファイルがある場合、そのファイルを
> 削除して自動的に終了するプログラムを考えています。
> 普通はメニューのファイルからアプリケーションの終了を選んで
> それをクリックすると「ある関数が呼び出されて終了する?」と
> 思っているのですが、それをクリックせずにプログラムで終了する
> 方法を教えてください。お願いします。

 処理のあとに
PostQuitMessage(0); 
を付ければどうでしょう?

/////////////////////////
PC-wIred http://popup.tok2.com/home/pcwired/
31

[mfc 31470] Re:文字列連結について

> CString ans;
> for (int i=0;i<10000;i++){
>  ans += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
> }
>
ループの中を strcpy が使えるようにすれば、
1,2桁は改善されるかも・・?

# こーゆー時は strcat は、おそいから使わない!
  CString は、もってのほか  かと。


> ループ数がある程度増えても劣化しない良い方法があれば教えてください。
>
「ある程度」つーのがね・・・


 ---------------------------------------------
   Kazu-hisa Onishi  < k...@pureslink.co.jp >
31

[mfc 31469] Re: 文字列連結について

s.osada さんは書きました:
>簡単に測定してみたところ以下のような結果になりました。
>(かなり低スペックマシンですが・・・)
>
>             JDK1.3   VC++6.0
>1000ループ     50ms      433ms
>10000ループ   110ms   45,911ms
>20000ループ   270ms  188,852ms
>
>ループ数がある程度増えても劣化しない良い方法があれば教えてください。

一度に一定量のバッファしか足さない作りのStringクラスの場合では
最終サイズ/増分バッファ量の2乗に比例して時間がかかります。
(例えば1度に26バイトしかバッファを増やさない作りで10000回
 Stringの結合を行なうとするとコピーされるデータ量は 26 + 52 + 
 .. + 260000 で 約1.3GBになります)

CStringが遅いという結果はそのまま受け入れるとして
バッファの確保方法を変えるか最初から大きくした別のStringクラスを
用意すれば 少なくともJava程度の数字は出るでしょう。
31

[mfc 31468] Re: dosの標準出力をもらいたいですが

こんにちは。

> VC++からdosにコマンドを送って、その後実行中のdosの標準出力を随時にもらいた

> (dosと通信することになる?かな)ですが、どうすればできますか。
> ご存知の方は教えてください。
たしか、

AllocConsole();
freopen("con","wa",stdout);

と一度やってあげると、dos窓にprintfで出力できるようになると思います。
あと終了時には

FreeConsole();

として終了処理をする必要があります。
31

[mfc 31467] Re: VC++でのシリアルポートへのデータ送受信


阪下です。

みなさんのおかげでどうにかシリアルポート
へのデータ送受信を行うことができました。

サンプルや本やHPなど大変参考になりました。
ありがとうございます。

今後とも宜しくお願いします。
記事検索
Amazon.co.jp
  • ライブドアブログ