Nu aveti permisiuni pentru a descarca fisierul grader_test17.in
Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2016-07-28 12:52:57.
Revizia anterioară Revizia următoare
Revizia anterioară Revizia următoare
Acesta este un code demonstrativ pentru parsarea fişierului de intrare
#include <stdio.h>
#include <ctype.h>
/** Funcţiile necesare parsării fişierului de intrare **/
FILE *_fin;
int _in_loc; char _in_buff[4096];
void read_init(const char* nume) // Apelaţi această funcţie la începutul funcţiei <main>
{
_fin = fopen(nume, "r");
_in_loc = 4095;
}
char read_ch()
{
++_in_loc;
if (_in_loc == 4096) {
_in_loc = 0;
fread(_in_buff, 1, 4096, _fin);
}
return _in_buff[_in_loc];
}
unsigned int read_u32() // Apelaţi această funcţie pentru a citi un număr ce se încadrează în categoria <unsigned int>
{
unsigned int u32 = 0; char c;
while (!isdigit(c = read_ch()));
u32 = c - '0';
while (isdigit(c = read_ch())) {
u32 = u32 * 10 + c - '0';
}
return u32;
}
unsigned long long read_u64() // Apelaţi această funcţie pentru a citi un număr ce se încadrează în categoria <unsigned long long>
{
unsigned long long u64 = 0; char c;
while (!isdigit(c = read_ch()));
u64 = c - '0';
while (isdigit(c = read_ch())) {
u64 = u64 * 10 + c - '0';
}
return u64;
}