Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
prettyauto.cpp File Reference
Include dependency graph for prettyauto.cpp:

Go to the source code of this file.

Functions

int main (int, char *[])
 

Function Documentation

◆ main()

int main ( int ,
char * [] )

Definition at line 18 of file prettyauto.cpp.

18 {
19#ifdef _WIN32
20 // Prevent Windows converting between CR+LF and LF
21 _setmode(_fileno(stdin), _O_BINARY); // NEW
22 _setmode(_fileno(stdout), _O_BINARY); // NEW
23#endif
24
25 // Prepare reader and input stream.
26 //Reader reader;
27 GenericReader<AutoUTF<unsigned>, UTF8<> > reader; // CHANGED
28 char readBuffer[65536];
29 FileReadStream is(stdin, readBuffer, sizeof(readBuffer));
31
32 // Prepare writer and output stream.
33 char writeBuffer[65536];
34 FileWriteStream os(stdout, writeBuffer, sizeof(writeBuffer));
35
36#if 1
37 // Use the same Encoding of the input. Also use BOM according to input.
38 typedef AutoUTFOutputStream<unsigned, FileWriteStream> OutputStream; // NEW
39 OutputStream eos(os, eis.GetType(), eis.HasBOM()); // NEW
41#else
42 // You may also use static bound encoding type, such as output to UTF-16LE with BOM
43 typedef EncodedOutputStream<UTF16LE<>,FileWriteStream> OutputStream; // NEW
44 OutputStream eos(os, true); // NEW
45 PrettyWriter<OutputStream, UTF8<>, UTF16LE<> > writer(eos); // CHANGED
46#endif
47
48 // JSON reader parse from the input stream and let writer generate the output.
49 //if (!reader.Parse<kParseValidateEncodingFlag>(is, writer)) {
50 if (!reader.Parse<kParseValidateEncodingFlag>(eis, writer)) { // CHANGED
51 fprintf(stderr, "\nError(%u): %s\n", static_cast<unsigned>(reader.GetErrorOffset()), GetParseError_En(reader.GetParseErrorCode()));
52 return 1;
53 }
54
55 return 0;
56}
Input stream wrapper with dynamically bound encoding and automatic encoding detection.
Output stream wrapper with dynamically bound encoding and automatic encoding detection.
Output byte stream wrapper with statically bound encoding.
File byte stream for input using fread().
Wrapper of C file stream for output using fwrite().
SAX-style JSON parser. Use Reader for UTF8 encoding and default allocator.
Definition reader.h:537
ParseResult Parse(InputStream &is, Handler &handler)
Parse JSON text.
Definition reader.h:557
ParseErrorCode GetParseErrorCode() const
Get the ParseErrorCode of last parsing.
Definition reader.h:683
size_t GetErrorOffset() const
Get the position of last parsing error in input, 0 otherwise.
Definition reader.h:686
Writer with indentation and spacing.
os_t os
RAPIDJSON_NAMESPACE_BEGIN const RAPIDJSON_ERROR_CHARTYPE * GetParseError_En(ParseErrorCode parseErrorCode)
Maps error code of parsing into error message.
Definition en.h:36
@ kParseValidateEncodingFlag
Validate encoding of JSON strings.
Definition reader.h:148
Dynamically select encoding according to stream's runtime-specified UTF encoding type.
Definition encodings.h:615
UTF-16 little endian encoding.
Definition encodings.h:342
UTF-8 encoding.
Definition encodings.h:96
Here is the call graph for this function: