Add GUI Support
This commit is contained in:
36
src/TextStreams/StdIOReader.cpp
Normal file
36
src/TextStreams/StdIOReader.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
#include "TessesFramework/TextStreams/StdIOReader.hpp"
|
||||
|
||||
|
||||
namespace Tesses::Framework::TextStreams
|
||||
{
|
||||
ConsoleReader::ConsoleReader()
|
||||
{
|
||||
|
||||
}
|
||||
bool ConsoleReader::ReadBlock(std::string& str,size_t len)
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
uint8_t* buff = new uint8_t[len];
|
||||
#else
|
||||
uint8_t buff[len];
|
||||
#endif
|
||||
size_t read=0;
|
||||
size_t readTotal=0;
|
||||
uint8_t* buffOff=buff;
|
||||
do {
|
||||
read=fread(buffOff,1,len,stdin);
|
||||
if(read != 0) {readTotal+= read;len-=read; buffOff+=read;}
|
||||
} while(read != 0);
|
||||
if(readTotal == 0) return false;
|
||||
str.append((const char*)buff, readTotal);
|
||||
#if defined(_WIN32)
|
||||
delete buff;
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
ConsoleReader StdIn()
|
||||
{
|
||||
return ConsoleReader();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user