Я просто хочу написать пустую строку в файл. Я использую следующий код, но не работает.Написание нового символа строки в файле
char* RegID;
RegID = "10";
char* mndtime;
mndtime = "10";
char* resourcetype;
resourcetype = "Backup";
char* ressubtype;
ressubtype = "shadowprotect";
char* DataBuffer = new char[100];
StrCpy(DataBuffer,"<wpshadowprotectstatus>");
strcat(DataBuffer,"\n");
strcat(DataBuffer,"<mndtime>");
strcat(DataBuffer,RegID);
strcat(DataBuffer,"<\\mndtime>\n");
strcat(DataBuffer,"<resourcetype>");
strcat(DataBuffer,RegID);
strcat(DataBuffer,"<\\resourcetype>\n");
strcat(DataBuffer,"<ressubtype>");
strcat(DataBuffer,RegID);
strcat(DataBuffer,"<\\ressubtype>\n");
strcat(DataBuffer,"<jobname>");
strcat(DataBuffer,RegID);
strcat(DataBuffer,"<\\jobname>\n");
strcat(DataBuffer,"<jobstarttime>");
strcat(DataBuffer,RegID);
strcat(DataBuffer,"<\\jobstarttime>\n");
HANDLE hFile;
hFile = CreateFile("text.txt", // name of the write
GENERIC_WRITE, // open for writing
0, // do not share
NULL, // default security
CREATE_NEW, // create new file only
FILE_ATTRIBUTE_NORMAL, // normal file
NULL); // no attr. template
if (hFile == INVALID_HANDLE_VALUE)
{
return 0;
}
DWORD dwBytesToWrite = (DWORD)strlen(DataBuffer);
DWORD dwBytesWritten = 0;
BOOL bErrorFlag = FALSE;
bErrorFlag = WriteFile(hFile, // open file handle
DataBuffer, // start of data to write
dwBytesToWrite, // number of bytes to write
&dwBytesWritten, // number of bytes that were written
NULL); // no overlapped structure
но я не знаю, почему новая строка не является дампом в текстовом файле.
Примечание: - 1) Я не хочу использовать std :: library C++. 2) Не хотите использовать XML-парсер.
Как в стороне .. разве вы не имеете в виду strcat (DataBuffer, " jobstarttime> \ n"); – Rob
Что вы получаете в текстовом файле? – Rob
Я подозреваю, что проблема заключается в том, что вы используете 'CreateFile' и' WriteFile' для создания и записи файла. Это позволит избежать автоматического перевода с '' \ n'' на '' \ r \ n "', что для библиотеки времени выполнения C для вас. Скорее всего, вы получаете новую строку '' \ n'', а это означает, что за одной строкой текста следующая следующая справа справа. –