Problem: too few arguments...
-
Hey an alle, die mich noch nicht kennen!
Ich programmiere schon lange in C++, jedoch erkenne ich diesmal kein Problem, die Syntax stimmt. Hier erstmal der Code und die Fehlermeldung:
void openfile(char filename[100], char content[255]) {Fehlermeldung:
9 C:\Users\XXXXXX\Desktop\Programmierung\C++\KI\main.cpp too few arguments to function `void openfile(char*, char*)'Kann mir einer von euch denn weiterhelfen? Verträgt "void" keine 2 Char-Variablen?
Liebe Grüße,
Leibi
-
Du übergibst scheinbar weniger als 2 Parameter. Zeig mal den Aufruf.
-
Damit es keine Missverständnisse gibt, hier der ganze Code

#include <cstdlib> #include <iostream> #include <fstream> #include <conio.h> #include <string.h> using namespace std; void openfile(char filename[100], char content[255]) { char schreibschutz[1]="", command[100]=""; strcat(command, "attrib "); strcat(command, "-"); strcat(command, "R "); strcat(command, filename); fstream f; f.open(filename, ios::out); if(f<<content<<endl) { cout<<"Datei erfolgreich erstellt!"<<endl; } else { cout<<"Es ist ein Fehler aufgetreten."<<endl<<"Ist die Datei schreibgeschuetzt?"<<endl; cout<<"Eingabe (j/n): "; cin>>schreibschutz; if(schreibschutz[0] == 'j') { cout<<"Versuche, Schreibschutz aufzuheben..."<<endl; system(command); openfile(filename); } } f.close(); } int main(int argc, char *argv[]) { char eingabe[10], filename[100], content[255]; cout<<"Datei oeffnen und beschreiben"<<endl; cout<<"Bitte geben Sie den Dateinamen ein: "; cin>>filename; cout<<"Geben Sie nun den Inhalt ein:"<<endl; cin>>content; openfile(filename, content); getch(); return EXIT_SUCCESS; }
-
Zeige die Signatur der Deklaration und der Definition von openfile(..) und zeige den Aufruf.
Ich programmiere schon lange in C++,
Danke für die Information.
Simon
Edit
Ich bin lahm wie eine Ente...
-
leibi schrieb:
#include <cstdlib> #include <iostream> #include <fstream> #include <conio.h> // kotz! #include <string.h> // cstring! using namespace std; void openfile(char filename[100], char content[255]) { char schreibschutz[1]="", command[100]=""; // WTF?!leibi schrieb:
Ich programmiere schon lange in C++
Wirklich?
-
openfile(filename);Da übergibst du nur ein Argument, die Funktion will aber 2...
-
x und D schrieb:
leibi schrieb:
#include <cstdlib> #include <iostream> #include <fstream> #include <conio.h> // kotz! #include <string.h> // cstring! using namespace std; void openfile(char filename[100], char content[255]) { char schreibschutz[1]="", command[100]=""; // WTF?!leibi schrieb:
Ich programmiere schon lange in C++
Wirklich?
Ich schwanke zwischen dem Lach- und dem confused-Smiley... besser beide:

-
Struddelfehler, danke matze

leibi schrieb:
Ich programmiere schon lange in C++Wirklich?
Anstatt mich zu diskriminieren hättet Ihr genauso gut eine Lösung / einen anderen Weg geben können. War das wirklich nötig?
Trotzdem danke an alle, die geantwortet haben. Mein "Ich programmiere schon lange in C++" war ernst gemeint, jedoch nicht detailliert beschrieben. Das tue ich tatsächlich schon seit 3 Jahren, jedoch eher selten, da ich hier in der Firma nur VB.NET benutze und ich C++ nur in der Schule wiederhole.
-
leibi schrieb:
Mein "Ich programmiere schon lange in C++" war ernst gemeint, jedoch nicht detailliert beschrieben. Das tue ich tatsächlich schon seit 3 Jahren, jedoch eher selten, da ich hier in der Firma nur VB.NET benutze und ich C++ nur in der Schule wiederhole.
Sieh es mal so: der Satz impliziert nunmal, dass man sich auch auskennt oder das zumindest denkt. Mit solchen Reaktionen musst du einfach rechnen, wenn diese implizite Aussage und der Code nicht so recht zusammenpassen.

Zum Fehler: glaube deinem Compiler einfach, wenn er Dinge wie "too few arguments" behauptet! Er sagt meist viel genauer, wo der Fehler liegt, als Ungeübte es glauben wollen.

-
Werd ich machen, danke

Hab selbst drüber gelacht, also kein Ding

-
Wieso benutzt du nicht einfach die Klassen und Funktionen der STL. Da sind z.B. std::string, oder aber std::getline, ...