提示コードですがMain.cppのdebug.Write()関数で常に文字をテキストファイルに書き込んでいるのですが。この書き込んだ文字をリアルタイムで描画表示を別のウインドウで行う方法はあるのでしょうか?
試しに別のウインドウでemacs -nw
で開きましたが更新されません。
Main.cpp
cpp
1#include "../lib_src/Console.hpp" 2#include "../lib_src/Help.hpp" 3#include <ncurses.h> 4#include <iostream> 5 6int main() 7{ 8 9 Console::Init(); 10 Console::NoDispInput(); 11 Console::NoInputBuffer(); 12 13 14 int i = 4; 15 16 Console::Debug debug("debug.txt"); 17 debug.Write("aaa %d",i); 18 19 20 while(true) 21 { 22 Console::ClearBuffer(); 23 24 Console::Draw(Console::ColorPair{Console::ColorType::White,Console::ColorType::Blue},"aaaaaa %d\n fffff",i); 25 i++; 26 27 debug.Write("あああああ\n"); 28 29 30 31 32 if(getch() == 27) 33 { 34 break; 35 } 36 37 } 38 39 40 41 Console::Close(); 42 43 44 return 0; 45}
Debug.cpp
cpp
1#include "Debug.hpp" 2#include "Help.hpp" 3#include <stdarg.h> 4 5//コンストラクタ 6Console::Debug::Debug(const char* FileName) 7{ 8 file = FileName; 9 fp = fopen(FileName, "w"); 10 fclose(fp); 11} 12 13//書き込み 14void Console::Debug::Write(const char* format,...) 15{ 16 fp = fopen(file.c_str(), "a"); 17 18 va_list ap; 19 char str[10000] = {'\0'}; 20 va_start(ap, format); 21 vsprintf(str,format,ap); 22 va_end(ap); 23 24 fprintf(fp,"%s",str); 25} 26 27//デストラクタ 28Console::Debug::~Debug() 29{ 30 fclose(fp); 31} 32 33 34 35
回答1件
あなたの回答
tips
プレビュー