schmiddys Geschrieben 5. Januar 2009 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.
Maulwurf_der_Schlaue Geschrieben 5. Januar 2009 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
AndiE Geschrieben 7. Januar 2009 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?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden