BYTE array als CSV Werte speichern



  • Moin.

    Ich versuche unter Windows CE ein BYTE array als CSV Werte zu speichern. Nur scheint mir Unicode zu schaffen zu machen. Wenn ich die Datei mit dem Windows Editor öffne, sind zwischen den Zeichen Leerzeichen und "\r\n" für Zeilenumbruch funktioniert auch nicht.
    Das ist mein Code mit einem Workaround für den Zeilenumbruch:

    hFile = CreateFile( _T("MyData.txt"), 
    						GENERIC_WRITE,
    						0, 
    						NULL,
    						CREATE_ALWAYS, 
    						FILE_ATTRIBUTE_NORMAL, 
    						NULL);
    
    	if(hFile != INVALID_HANDLE_VALUE)
    	{		
    		CString		sCSV;
    
    		sCSV = "";
    
    		for(int i = 0; i < BUFFERSIZE; i += 2)
    		{
    			wchar_t cTemp = 0x0a0d;
    
    			sCSV.AppendFormat(_T("%d,"), m_aReceiveBuffer[i]);
    			sCSV.AppendFormat(_T("%d"), m_aReceiveBuffer[i + 1]);
    			sCSV.Append(&cTemp);
    		}
    
    		if(!WriteFile(hFile, sCSV, sCSV.GetLength(), &dwWritten, NULL))
    		{
    			CString ErrorString;				
    			ErrorString.Format(_T("WriteFile Error: %d"), GetLastError());
    			AfxMessageBox(ErrorString, MB_OK | MB_ICONSTOP);
    		}
    	}
    	else
    	{
    		CString ErrorString;
    		ErrorString.Format(_T("CreateFile Error: %d"), GetLastError());
    		AfxMessageBox(ErrorString, MB_OK | MB_ICONSTOP);
    	}
    
    	CloseHandle(hFile);
    

    Wie bekomme ich die Leerzeichen weg und den Zeilenvorschub eleganter hin?



  • Schon mal probiert, auf Unicode zu verzichten?
    #undef UNICODE
    #undef _UNICODE

    Schon mal einen Blick auf fstream.h und "ofstream" geworfen?


Anmelden zum Antworten