Garmin Fleet Management Controller
2.19.0
Main Page
Related Pages
Classes
Files
File List
File Members
CsvWriter.cpp
Go to the documentation of this file.
1
/*********************************************************************
2
*
3
* MODULE NAME:
4
* CsvWriter.cpp
5
*
6
* Copyright 2012 by Garmin Ltd. or its subsidiaries.
7
*---------------------------------------------------------------------
8
* $NoKeywords$
9
*********************************************************************/
10
11
#include "
stdafx.h
"
12
#include "
CsvWriter.h
"
13
14
CsvWriter::CsvWriter
(CFile * file) :
15
m_file( file )
16
{
17
18
}
19
20
CsvWriter::~CsvWriter
()
21
{
22
23
}
24
25
void
CsvWriter::WriteValue
(
char
* value)
26
{
27
WriteValue
( value, (
int
) strlen( value ) );
28
}
29
30
void
CsvWriter::WriteValue
(
char
* value,
int
len)
31
{
32
bool
escape = ( ( 0 != strchr( value,
','
) ) || ( 0 != strchr( value,
'\n'
) ) );
33
if
( escape )
34
{
35
m_file
->Write(
"\""
, 1 );
36
}
37
int
w = 0;
38
char
* context = NULL;
39
char
* pch = strtok_s( value,
"\""
, &context);
40
while
( pch != NULL )
41
{
42
m_file
->Write( pch, max( len-w, len ) );
43
len += (int) strlen( pch );
44
pch = strtok_s( NULL,
"\""
, &context );
45
if
( pch != NULL )
46
{
47
m_file
->Write(
"\""
, 1 );
48
}
49
}
50
if
( escape)
51
{
52
m_file
->Write(
"\""
, 1 );
53
}
54
m_file
->Write(
","
, 1 );
55
}
56
57
void
CsvWriter::NewLine
()
58
{
59
m_file
->Write(
"\n"
, 1 );
60
m_file
->Flush();
61
}
62
63
void
CsvWriter::Finish
()
64
{
65
m_file
->Flush();
66
}
CsvWriter::CsvWriter
CsvWriter(CFile *file)
Definition:
CsvWriter.cpp:14
CsvWriter::WriteValue
void WriteValue(char *value)
Definition:
CsvWriter.cpp:25
CsvWriter.h
stdafx.h
CsvWriter::m_file
CFile * m_file
Definition:
CsvWriter.h:29
CsvWriter::~CsvWriter
virtual ~CsvWriter()
Definition:
CsvWriter.cpp:20
CsvWriter::Finish
void Finish()
Definition:
CsvWriter.cpp:63
CsvWriter::NewLine
void NewLine()
Definition:
CsvWriter.cpp:57
CsvWriter.cpp
Generated by
1.8.11