schmiddys Geschrieben 5. Januar 2009 Teilen Geschrieben 5. Januar 2009 Hallo! Ich würde gerne Daten, die über eine Funktion ausgelesen werden in eine Text Datei speichern und dann diese über das Programm öffnen. Die Funktion hat folgenden Code: void ProcessImage(CyUserBuffer &userBuffer, CSpyder3GigEInterface *camera) { // Process image unsigned char *tempBuffer = userBuffer.GetBuffer(); long max = -1, maxX, maxY; long min = 0x7fffffff, minX, minY; // unsigned long width=0; unsigned long height=0; unsigned long pixelWidth =0; camera->GetSizeX(width); camera->GetSizeY(height); camera->GetPixelByteSize(pixelWidth); for (int r = 0; r<(int)height; r++) { for (int c = 0; c< (int)width ; c++) { int value; if ( pixelWidth == 1) value = (int)(tempBuffer[ r*width+c]); else { unsigned short indx =(r*width+c) * pixelWidth ; value = tempBuffer[ indx+1 ]&0x0f; value = value<<8; value |= tempBuffer[indx]; } if ( value > max ) { max =value; maxX = c; maxY = r; } if ( value < min ) { min = value; minX = c; minY = r; } if ( r%100 == 0) printf("%d,", value); } if ( r%100 == 0) printf("\n"); } printf( "Maximum Value(%d, %d) = %d\n",maxX,maxY, max); printf( "Minimum Value(%d, %d) = %d\n",minX,minY, min); } Ich möchte als die Werte, die über printf erzeugt werden, in diese Datei schreiben. Wie geht das? Kann mir jemand einen Beispiel Code dazu schicken, wenn das möglich ist? Wäre super, wenn ich ne Antwort bekomme. Ist echt wichtig. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Maulwurf_der_Schlaue Geschrieben 5. Januar 2009 Teilen Geschrieben 5. Januar 2009 Hallo, leider kann ich Dir keine einfach Lösung anbieten da mein C/C++ im Moment etwas eingerostet ist. Ich hab aber mal das gemacht was ich machen würde wenn ich das machen wollte was Du vorhast Nämlich die Tante Google gefragt und unter anderem dahin gefunden C-Programmierung - eine Einführung zu Dateien Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 6. Januar 2009 Teilen Geschrieben 6. Januar 2009 fprintf bzw. ofstream Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AndiE Geschrieben 7. Januar 2009 Teilen Geschrieben 7. Januar 2009 Das ist der Code: void ProcessImage(CyUserBuffer &userBuffer, CSpyder3GigEInterface *camera) { // Process image unsigned char *tempBuffer = userBuffer.GetBuffer(); long max = -1, maxX, maxY; long min = 0x7fffffff, minX, minY; // unsigned long width=0; unsigned long height=0; unsigned long pixelWidth =0; camera->GetSizeX(width); camera->GetSizeY(height); camera->GetPixelByteSize(pixelWidth); for (int r = 0; r<(int)height; r++) { for (int c = 0; c< (int)width ; c++) { int value; if ( pixelWidth == 1) value = (int)(tempBuffer[ r*width+c]); else { unsigned short indx =(r*width+c) * pixelWidth ; value = tempBuffer[ indx+1 ]&0x0f; value = value<<8; value |= tempBuffer[indx]; } if ( value > max ) { max =value; maxX = c; maxY = r; } if ( value < min ) { min = value; minX = c; minY = r; } if ( r%100 == 0) printf("%d,", value); // Was soll das? } // next c if ( r%100 == 0) printf("\n"); } // next r printf( "Maximum Value(%d, %d) = %d\n",maxX,maxY, max); printf( "Minimum Value(%d, %d) = %d\n",minX,minY, min); } Was soll die markierte Stelle tun? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.