for文でのカウントアップがおかしい – プログラミング – Home

for文でのカウントアップがおかしい
 
通知
すべてクリア

[解決済] for文でのカウントアップがおかしい


まるぱ
 まるぱ
(@まるぱ)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

はじめまして。

今、for文などのループにおいて、おかしな現象が発生しています。
何が悪いのか見当がつかないため、お力を貸してください。

int i;
for(i = 0; i < 1000; i++) {
TRACE([%d\], i);
}

上記コードを実行すると、
アウトプットウィンドウに
[0]
[1]
[2]


と表示されますが、ある数値を超えた時点で間が飛んでしまいます。
たとえば、以下のように396から2840の数字が表示されません。


[394]
[395]
[2841]
[2842]

while文でもだめですし、、、
なぜか、forループの中にSleep(1);を入れると飛びがなくなります。

OSは2000,XPpro両方やっていますが同様です。
VC6(SP6)で実行しています。

なんか、狐につままれたようです。


引用未解決
トピックタグ
通りすがり
 通りすがり
(@通りすがり)
ゲスト
結合: 24年前
投稿: 92
 

TRACEの表示が追いついていないだけです。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

http://support.microsoft.com/kb/218007/ja

回避方法についても少し書いてあるみたいだけど判らなかった。
私はテキストファイルにログを吐き出すマクロを作っています。


返信引用
まるぱ
 まるぱ
(@まるぱ)
ゲスト
結合: 17年前
投稿: 2
Topic starter  

仕様なんですね。。。
私の環境では395前後で一発目が飛びが発生するので、
300回おきにウェイトを入れると発生しなくないました。

ファイル出力もやってみましたが、飛びが発生せず、
正しく出力されていました。

今日の夜はゆっくり寝れそうです。

通りすがりさん、たいちうさん
ありがとうございました。


返信引用
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

要するに IDE (Visual Studio 6.0) の Debugger の表示が遅いだけなわけで
それ以外の OutputDebugString を受け取るツールを使えばよいわけだ
sysinternals の DebugView でも使えばいい
http://technet.microsoft.com/ja-jp/sysinternals/d46b4037-88ae-41d7-a41c-
9660d7d96cf2(en-us).aspx

# Silverlight をダウンロード汁ってうるさいなーなんとかならんのかな


返信引用
a
 a
(@a)
ゲスト
結合: 23年前
投稿: 59
 

…既に回答があるのに駄目押しで書き込む必要は無いのでは?


返信引用
まあまあ、
 まあまあ、
(@まあまあ、)
ゲスト
結合: 17年前
投稿: 2
 

別の解法提示をして下さるなんて、有り難いじゃないですか~。

但し 知識をひけらかす為の、こじつけ情報が多いですが...。


返信引用
まあまあ、
 まあまあ、
(@まあまあ、)
ゲスト
結合: 17年前
投稿: 2
 

あ、このスレッドではないですよん。他のスレッドで、の意。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました