Beschränkung Dateigröße ???
-
Ich weiss jetzt nicht ob es daran liegt, aber bei einem Float-Wert kann man meines Wissens nach den "l"-Format-Bezeichner vergessen. Also statt
%.2lf
würde ich mal
%.2f
versuchen.
-
Ja ist schon richtig - hab ich auch probiert, ohne Erfolg
Wenn ich den Wert als double in die Datei reinschreibe, steht dann nur Schmutz drin- das bringt alles durcheinander. Wird er gleich weggelassen läuft alles bis zum Ende durch. Es müssen also Strings sein. Gibt es noch eine andere Möglichkeit zur Konvertierung?
Mit _ecvt tritt exakt das selbe Problem auf - ich kann nicht mehr wie 999 Werte konvertieren, HELP
???
Woran kann das liegen, und wie kann ich dieses Problem lösen?
-
Hat das vielleicht etwas mit dem Heap zu tun, weil er bringt die Fehlermeldung in der Datei dgbheap.c ?
-
roeschti schrieb:
Hat das vielleicht etwas mit dem Heap zu tun, weil er bringt die Fehlermeldung in der Datei dgbheap.c ?
Zeig doch mal den genauen Wortlaut der Fehlermeldung und die Aufrufliste zu dem Zeitpunkt, wo der Fehler auftritt.
-
Also hier die Fehlermeldung:
Debug Assertion Failed!
Programm: .....\ ...\.. .exe
File:dbgheap.c
Line:1011Expression: _CrtIsValidHeapPointer(pUserData)
For information....
usw.Was meinst du mit Aufrufliste?
BeiWeg.Format("%.2f",s_in_km)
steigt er beim 1000mal aus.
-
roeschti schrieb:
Was meinst du mit Aufrufliste?
Aufrufliste, in der englischen Version "Callstack". Ein Debugfenster, in dem eine Liste der Funktionen steht, die gerade aufgerufen sind.
Du hast da irgendein Speicherproblem. Ich vermute, dass es nichts mit dem Code an dieser Stelle zu tun hat, sondern sich erst dort bemekrbar macht.
-
Also hier ist die Aufrufliste:
F_Berechnung_Weg ist die Funktion in der ich gerade arbeite, die wiederum von der Funktion OnGeschwZeit aus CChildFrm aufgerufen wird.
Mit dem rest kann ich nicht viel anfangen.CGPS_04_DocAnsichtDoc::F_Berechnung_Weg() line 294
CChildFrame::OnGeschwZeit() line 126
_AfxDispatchCmdMsg(CCmdTarget * 0x004328c0 {CChildFrame hWnd=0x003f0674}, unsigned int 32773, int 0, void (void)* 0x0040120d CChildFrame::OnGeschwZeit(void), void * 0x00000000, unsigned int 12, AFX_CMDHANDLERINFO * 0x00000000) line 88
CCmdTarget::OnCmdMsg(unsigned int 32773, int 0, void * 0x00000000, AFX_CMDHANDLERINFO * 0x00000000) line 302 + 39 bytes
CFrameWnd::OnCmdMsg(unsigned int 32773, int 0, void * 0x00000000, AFX_CMDHANDLERINFO * 0x00000000) line 894 + 24 bytes
CWnd::OnCommand(unsigned int 32773, long 0) line 2088
CFrameWnd::OnCommand(unsigned int 32773, long 0) line 317
CWnd::OnWndMsg(unsigned int 273, unsigned int 32773, long 0, long * 0x0012fafc) line 1597 + 28 bytes
CWnd::WindowProc(unsigned int 273, unsigned int 32773, long 0) line 1585 + 30 bytes
AfxCallWndProc(CWnd * 0x004328c0 {CChildFrame hWnd=0x003f0674}, HWND__ * 0x003f0674, unsigned int 273, unsigned int 32773, long 0) line 215 + 26 bytes
CMDIFrameWnd::OnCommand(unsigned int 32773, long 0) line 55 + 35 bytes
CWnd::OnWndMsg(unsigned int 273, unsigned int 32773, long 0, long * 0x0012fcc4) line 1597 + 28 bytes
CWnd::WindowProc(unsigned int 273, unsigned int 32773, long 0) line 1585 + 30 bytes
AfxCallWndProc(CWnd * 0x004313b0 {CMainFrame hWnd=???}, HWND__ * 0x004905dc, unsigned int 273, unsigned int 32773, long 0) line 215 + 26 bytes
AfxWndProc(HWND__ * 0x004905dc, unsigned int 273, unsigned int 32773, long 0) line 368
AfxWndProcBase(HWND__ * 0x004905dc, unsigned int 273, unsigned int 32773, long 0) line 220 + 21 bytes
USER32! 77d18709()
USER32! 77d187eb()
USER32! 77d189a5()
USER32! 77d1bccc()
CWinThread::PumpMessage() line 846
CWinThread::Run() line 480 + 11 bytes
CWinApp::Run() line 400
AfxWinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00141f3f, int 1) line 49 + 11 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00141f3f, int 1) line 30
WinMainCRTStartup() line 330 + 54 bytes
KERNEL32! 7c816d4f()
-
roeschti schrieb:
CGPS_04_DocAnsichtDoc::F_Berechnung_Weg() line 294
Ist das die Aufrufliste zu dem Zeitpunkt, wo der Fehler auftritt, oder ist das ein Haltepunkt? Eigentlich müsste darüber noch etwas stehen.
-
Ich entschuldige mich für die Belästigung und danke allen Beteiligten
Der Fehler lag in der Zeile
zeit_s=itoa(t+1,string,10);
Das macht er ab 1000 nicht mehr mit.
tschö mit ö
-
Hallo,
ändere mal char string[4] in einen größeren Wert z.B. char string[16) um!
In string[4] passen max. 3 Zeichen +"\0"Tester2