_
@akari
Hier mein Minimalbeispiel mit Codeguard Fehler.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit7.h"
#include <fstream>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm7 *Form7;
//---------------------------------------------------------------------------
__fastcall TForm7::TForm7(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm7::b1Click(TObject *Sender)
{
String sMainLogFile = ParamStr(0) + L"txt";
std::basic_fstream<wchar_t> file;
file.open(sMainLogFile.c_str(), std::ios_base::out | std::ios_base::binary | std::ios_base::app);
file << L"Hallo" << L"\r\n";
file.close();
}
//---------------------------------------------------------------------------
Allerdings bekomme ich hier beim Schreiben den Fehler:
Fehler 00099. 0x310000 (Thread 0x0E8C):
Falscher Parameter: Falsches Datei- oder Pipe-Stream (0x32AFD894) wurde an die
Funktion weitergegeben.
fwrite(0x0012F30C, 0x1 [1], 0x1 [1], 0x32AFD894)
| d:\program files\embarcadero\rad studio\7.0\include\../include/dinkumware/fstream Zeile 265:
| { // converted something, try to put it out
| size_t _Count = _Dest - &*_Str.begin();
|> if (0 < _Count && _Count !=
| fwrite(&*_Str.begin(), 1, _Count, _Myfile))
| return (_Traits::eof()); // write failed
Aufrufhierarchie:
0x0040A571(=Project5.exe:0x01:009571) d:\program files\embarcadero\rad studio\7.0\include\../include/dinkumware/fstream#265
0x0040A059(=Project5.exe:0x01:009059) d:\program files\embarcadero\rad studio\7.0\include\../include/dinkumware/streambuf#465
0x00403865(=Project5.exe:0x01:002865) d:\program files\embarcadero\rad studio\7.0\include\../include/dinkumware/streambuf#151
0x004027AE(=Project5.exe:0x01:0017AE) d:\program files\embarcadero\rad studio\7.0\include\../include/dinkumware/ostream#768
0x0040201D(=Project5.exe:0x01:00101D) Unit7.cpp#27
0x502963E1(=vcl140.bpl:0x01:0D53E1)
------------------------------------------
Irgendiwe habe ich das Gefühl, daß hier Codeguard etwas falsch macht.
MfG Stephan