Pagini recente » Istoria paginii utilizator/serafimalex2001 | Istoria paginii utilizator/ioana31 | Statistici Serban Mircea Savin (savimage) | Diferente pentru utilizator/dorin31 intre reviziile 15 si 4 | Diferente pentru parsare-fisier-iesire intre reviziile 4 si 3
Nu exista diferente intre titluri.
Diferente intre continut:
fout << 324 << "sdfjhj 87473hriufhe" << '\n' << 638274623846 << '\n'; // !!! endl nu funcţionează, şi oricum şi în fstream este lent. Folosiţi '\n'.
return 0;
}
==
h2. Cod compatibil cu limbajul C (procedural)
Această variantă este perfect compatibilă cu standardele C, întrucât foloseşte funcţii pentru fiecare tip în parte.
== code(cpp) |
#include <stdio.h>
/** Funcţiile necesare parsării fişierului de intrare **/
FILE *_fout;
int _out_loc; char _out_buff[4096];
void write_init(const char* name) // Apelaţi această funcţie la începutul funcţiei <main>
{
_fout = fopen(name, "w");
_out_loc = 0;
}
void write_ch(char ch) // Apelaţi această funcţie pentru a scrie un caracter (cum ar fi ' ' sau '\n')
{
if (_out_loc == 4096) {
fwrite(_out_buff, 1, 4096, _fout);
_out_loc = 0;
} else {
_out_buff[_out_loc++] = ch;
}
}
void write_u32(unsigned int vu32) // Apelaţi această funcţie pentru a scrie un număr ce se încadrează în categoria <unsigned int>
{
if (vu32 <= 9) {
write_ch(vu32 + '0');
} else {
write_u32(vu32 / 10);
write_ch(vu32 % 10 + '0');
}
}
void write_u64(unsigned long long vu64) // Apelaţi această funcţie pentru a scrie un număr ce se încadrează în categoria <unsigned long long>
{
if (vu64 <= 9) {
write_ch(vu64 + '0');
} else {
write_u64(vu64 / 10);
write_ch(vu64 % 10 + '0');
}
}
void write_appendix() // ###! ATENŢIE, Apelaţi această funcţie la finalul prgramului. Altfel, fisierul outpt NU VA CONŢINE ÎN ÎNTREGIME ceea ce doriţi!
{
fwrite(_out_buff, 1, _out_loc, _fout);
fclose(_fout);
}
==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.