質問: m_EditLogMsg.GetWindowTextLength(); // Editに表示されている文字数を取得します //新しい文字列がログに追加できない時は if(len+(k=strlen(szTextBuff))>limit){ //古いログを削除します。 m_EditLogMsg.SetRedraw(FALSE); //再描画フラグをクリアします。 if((k=k-(limit-len))<0) k=0; //削除しなくてはならないバイト数を求めます。 m=m_EditLogMsg.LineFromChar(k); //削除しなくてはならないバイト数を含む行数を求めます。 l=m_EditLogMsg.LineIndex(m); //その行のインデックスを求めます。 if(l
回答: 案1と案2で中身が違い過ぎてるので何とも言えないのですが、現状どちらも同じ結果が得られているという前提且つ、「__printedit()の中身をもう少し綺麗 & 簡単に」ということなので、次のようにしてはいかがでしょうか。 案1をベースに可変引数の展開部分を案2のようにvsprintfを使うようにする。 これだけでスッキリするのではと思います。