Problem mir Schreiben in Textdatei
-
heike23 schrieb:
mit _tfprintf bekomme ich den fehler:
error C2065: '_tfprintf' : undeclared identifier
Error executing clarm.exe.Ich glaube, er meinte _ftprintf.
-
dann bekomme ich diese fehlermeldung :
cannot convert parameter 2 from 'char [4]' to 'const unsigned short *'
das ganze sieht bei mir jetzt so aus:
g_pszTextLabel = new TCHAR [nTextLength+1]; if (g_pszTextLabel != NULL) { g_oScanner.getLabelText(g_pszTextLabel, nTextLength); g_pszTextLabel[nTextLength] = _T('\0'); FILE *file = fopen("My Documents/scan.txt","a"); _ftprintf(file,"%s\n",g_pszTextLabel); fclose(file); }
hoffe das klappt irgednwie. oder liegt es daran das es ein TCHAR ist ??danke euch !!
-
was mir gerade aufgefallen ist.
H
H
Hist fast richtig.
es ist nur der erste buchstabe des strings. aber warum nimmt er nur die erste ziffer und geht nicht weiter ??ursprünglich sollte es heissen:
HUI 9999 01 10
Danke !
-
heike23 schrieb:
was mir gerade aufgefallen ist.
H
H
Hist fast richtig.
es ist nur der erste buchstabe des strings. aber warum nimmt er nur die erste ziffer und geht nicht weiter ??ursprünglich sollte es heissen:
HUI 9999 01 10
Danke !
Da wird wohl hinter dem "H" eine binäre Null ('\0') stehen, was ja quasi das Signal dafür ist, das der String an dieser Stelle aufhört. Zeig doch am besten mal mehr Code.
-
hier der code:
//GET LABEL MESSAGE size_t nTextLength = g_oScanner.getLabelTextLength(); if (nTextLength>0) { g_pszTextLabel = new TCHAR [nTextLength+1]; if (g_pszTextLabel != NULL) { g_oScanner.getLabelText(g_pszTextLabel, nTextLength); // g_pszTextLabel[nTextLength] = _T('\0'); FILE *file = fopen("My Documents/scan.txt","a"); fprintf (file,"%s\n",g_pszTextLabel); fclose(file); } }hoffe das das reicht

-
heike23 schrieb:
dann bekomme ich diese fehlermeldung :
Du musst natürlich überall TCHAR verwenden...
g_pszTextLabel = new TCHAR [nTextLength+1]; if (g_pszTextLabel != NULL) { g_oScanner.getLabelText(g_pszTextLabel, nTextLength); g_pszTextLabel[nTextLength] = _T('\0'); FILE *file = _tfopen(_T("My Documents/scan.txt"), _T("a, css=UTF-8")); _ftprintf(file, _T("%s\n"), g_pszTextLabel); fclose(file); } delete [] g_pszTextLabel;
-
erstmal vielen dank fuer deine/eure Hilfe.
ich habe den code so übernommen. bekomme auch keine fehler oder sonstiges.was jetzt mein problem ist. er schreibt einfach gar nichts in die datei.
also sie bleibt komplett leer. woran könnte das liegen ??
Danke.
-
habs hinbekommen.
diese zeile geändert:
FILE *file = _tfopen(_T("My Documents/scan.txt"),_T("a"));jetzt funktioniert es

VIELEN DANK !!!!!
-
eine frage hätte ich doch noch

hoffe es liest jetzt auch noch jemand..also ich kann die daten jetzt fast korrekt in die datei schreiben.
problem ist er macht es manchmal bzw oft nicht richtig.
bsp:
so sollte es aussehen:HUI-9999-01-10
HUI-9999-01-10
HUI-9999-01-10
HUI-9999-01-10
4012297025257
HUI-9999-01-10so sieht es aus:
HUI-9999-01-10
HUI-9999-01-10-
HUI-9999-01-10-
HUI-9999-01-10-
4012297025257
HUI-9999-01-10-ich habe keine ahnung warum er da, aber auch nicht immer, noch dieses zeichen am ende dran hängt. "-"
habt ihr ne idee ??danke euch !!
-
Hallo,
ich denke es kommt durch
g_pszTextLabel = new TCHAR [nTextLength+1];In der Variablen steht nach Deklaration schrott drin.
Schreibe doch nach dem der Speicherreserviereungmemset(g_pszTextLabel,'\0',nTextLength+1);Jetzt ist egal was du rein schreibst als letztes Zeichen auf jeden Fall \0 am Ende.
Hoffe das behebt Dein Problem
Oli_1977