Diferente pentru parsare-fisier-iesire intre reviziile #3 si #4

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.