Files
tessesframework/src/TextStreams/StdIOReader.cpp
2025-06-12 15:43:58 -05:00

36 lines
840 B
C++

#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();
}
}