Ich verwende Visual Studio 2005 (C \ C++).C - Öffnen einer Datei in einer Funktion mit fopen
Ich übergebe eine Zeichenfolge in eine Funktion als Char-Array. Ich möchte die als Parameter übergebene Datei öffnen und verwenden. Ich weiß, dass mein Code zu einem gewissen Grad funktioniert, denn wenn ich den Dateinamen als ersten Parameter fest codiere, funktioniert er perfekt.
Ich merke, wenn ich den Wert als eine Uhr betrachten, enthält der Wert die Adresse neben dem Zeichenfolgenliteral. Ich habe versucht, den Dateinamen als Zeiger übergeben, aber es beschwert sich dann über die Typkonvertierung mit __w64. Wie gesagt, es funktioniert gut mit "filename.txt" anstelle von fileName. Ich bin ratlos.
void read(char fileName[50],int destArray[MAX_R][MAX_C],int demSize[2])
{
int rows=0;
int cols=0;
int row=0;
int col=0;
FILE * f = fopen(fileName,"r");
...
Die Aufruffunktion Code lautet:.
char in_filename[50];
int dem[MAX_R][MAX_C];
int dem_size[2];
get_user_input(in_filename);
read(in_filename, dem, dem_size);
In der Uhr, die ich für Dateinamen hinzugefügt der richtige Text angezeigt wird, so werden die Daten in
Hm ... Ich mache das viel mit MinGW. Die Funktion, die später eine Datei öffnet, wird dem Parameter "const char * filename" übergeben - MinGW hat sich darüber nie beschwert. – mingos