Hallo,
bin ein c++ Anfänger und arbeite mit VC++ 6.0.Ich möchte mit VC++ 6.0
die Grauwerte eines 8-bit grayscale Bitmap Bildes ermitteln und in einem
2D Array speichern.Ich habe auf dieser Seite gesehen, dass es einen
ähnlichen Beitrag gibt aber mir ist es immer noch nicht klar wie ich die
Grauwerte im Array M kriegen kann.ich kriege 4 fehlermeldungen, die ich
nicht verstehe.
1
#include<windows.h>
2
#include<stdio.h>
3
#include<string.h>
4
#include<iostream>
5
6
usingnamespacestd;
7
voidBitmap2Array(charfilename,int**M)
8
{
9
//filename:Path where the bmp file is located
10
charbuf[100];
11
charfile=strcpy(buf,filename);//Fehlermeldung hier
C:\VisualC\Bit2Arr\Test.cpp(15) : error C2664: 'strcpy' : Konvertierung
des Parameters 2 von 'char' in 'const char *' nicht moeglich
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp
erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C-
oder Funktionsformat
C:\VisualC\Bit2Arr\Test.cpp(26) : error C2664: 'LoadImageA' :
Konvertierung des Parameters 2 von 'char' in 'const char *' nicht
moeglich
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp
erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C-
oder Funktionsformat
C:\VisualC\Bit2Arr\Test.cpp(40) : error C2064: Ausdruck ergibt keine
Funktion
C:\VisualC\Bit2Arr\Test.cpp(41) : error C2064: Ausdruck ergibt keine
Funktion
C:\VisualC\Bit2Arr\Test.cpp(42) : error C2064: Ausdruck ergibt keine
Funktion
Die erste Fehlermeldung bekommst Du wegen
char file=strcpy(buf,filename);
Das enthält gleich mehrere Fehler - der Rückgabewert von strcpy ist
nicht vom Typ char, und das zweite Argument "filename" ist von Dir als
char deklariert.
Die zweite Fehlermeldung bekommst Du aus exakt demselben Grund - der
Parameter "file" ist --s.o.-- als char deklariert.
Ein char ist aber genau ein Zeichen.
Dir fehlen wohl ein paar C-Grundlagen.
Literaturhinweis:
Brian Kernighan & Dennis Ritchie - "Programmieren in C", zweite Auflage,
Hanser-Verlag.
Rufus t. Firefly wrote:
> Dir fehlen wohl ein paar C-Grundlagen.
Nicht nur das. Da fehlen auch etliche C++ Grundlagen.
Es gibt in C keinen wirklichen Grund für strings mit
Character Arrays rumzuwurschten. In C++ gibt es dafür
den Datentyp std::string.
> Literaturhinweis:> Brian Kernighan & Dennis Ritchie - "Programmieren in C", zweite Auflage,> Hanser-Verlag.
Weiterer Literaturhinweis:
Bjarne Stroustrup - "The C++ Programming Language"
Addison Weslay
Und für die Windows Programmierung wirst du auch Literatur
benötigen. Da hab ich jetzt aber keinen Tip parat.
Und wenn du nicht beruflich oder aehnlich dazu gezwungen bist, nimm
nicht VC++ 6. Dieser Compiler ist dermassen alt, dass du sehr schnell
auf Bugs und Verletzungen des C++-Standards stossen wirst die dich nur
aufhalten werden.
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.