Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Problem bei der Ordnererstellung in C++

xsyllo / 4 Antworten / Baumansicht Nickles

Hallo Leute,


ich hab ein Problem in C++ mit der Ordnererstellung.Wollte ein einfaches Programm schreiben,


wo ein belibieger Ordner in C:/Programme erstellt wird.


Quellcode:


#include <iostream.h>
#include <conio.h>
#include <dir.h>
#include <string.h>
int main()
{ string pfad,Ordner;
  pfad="C:/Programme/";
  cout<<"Ordnername:";
  cin>>Ordner;
  pfad=pfad+Ordner;
  cout<<pfad;
  mkdir(pfad);


  getchar();
  return 0;
}


Als Fehler zeigt er mir an, dass es keine Übereinstimmung mit mkdir(string) gibt.


Hat vielleicht jemand eine Idee wie man dieses Problem umgehen kann?

bei Antwort benachrichtigen
d-oli xsyllo „Problem bei der Ordnererstellung in C++“
Optionen

hi,

probier mal backslash anstelle von slash.

"C:\Programme\"

gruss, d-oli

Konstruktive Kritik zeichnet sich dadurch aus, dass sie höflich, nützlich und sachlich ist.
bei Antwort benachrichtigen
mr.escape xsyllo „Problem bei der Ordnererstellung in C++“
Optionen

Ab NT sind "/" und "\" als pfadtrenner zulässig.
Eher könnte der typ "string" ungeeignet als parameter für mkdir sein, also ist noch eine umformug zu "char*" erforderlich. Vielleicht etwas in der art "pfad.LPCSTR()" o.ä. Evtl. reicht auch ein "(char*)pfad" als typecast.

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
littlehelper xsyllo „Problem bei der Ordnererstellung in C++“
Optionen

tjo in C/C++ sind / in Strings Escape Zeichen für z.B /t (Tabulator).
Versuch den Pfad einfach mal mit // anzugeben.

A computer lets you make more mistakes faster than any invention in human history - with the possible exceptions of handguns and tequila.
bei Antwort benachrichtigen
mr.escape littlehelper „tjo in C/C sind / in Strings Escape Zeichen für z.B /t Tabulator . Versuch den...“
Optionen

Danke für die info. Ich hätte schwören können, dass es backslash war, aber man lernt nie aus.
Ich werde es gleich allen compilerschreibern und fachbuchverlagen melden. Ach und onlinepublikationen darf ich auch nicht vergessen.

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen