📄 streamio.cpp
字号:
#include "streamio.h"
FILE *CStreamIO::getstream (int useout)
{
if (useout) return out;
return in;
}
int CStreamIO::openread (char *file, int binary)
{
if (in) return 0;
if (binary) in = fopen (file, "rb");
else in = fopen (file, "r");
if (in) ihandle = fileno (in);
return (int) in;
}
int CStreamIO::openwrite (char *file, int binary)
{
if (out) return 0;
if (binary) out = fopen (file, "wb");
else out = fopen (file, "w");
if (out) ohandle = fileno (out);
return (int) out;
}
int CStreamIO::closefile (int useout)
{
if (useout) {
if (out) fclose (out);
out = 0;
}
else {
if (in) fclose (in);
in = 0;
}
return 0;
}
int CStreamIO::eof ()
{
return feof (in);
}
int CStreamIO::getfileptr ()
{
return ftell (in);
}
int CStreamIO::movefileptr (int offset, int origin)
{
return fseek (in, offset, origin);
}
int CStreamIO::filesize (int useout)
{
int cur = ihandle;
if (useout) cur = ohandle;
return (filelength (cur));
}
void CStreamIO::readline (char *buffer, int length)
{
fgets (buffer, length, in);
}
// Note: Stupid Microsoft doesn't support vfscanf function
// So have to read one variable at a time
int CStreamIO::read (char *format, void *var )
{
int i = fscanf (in, format, var);
return i;
}
int CStreamIO::write (char *format, ... )
{
va_list aptr;
va_start (aptr, format);
int i = vfprintf (out, format, aptr);
va_end (aptr);
return i;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -