system-befehle....ordnerinhalt anzeigen lassen!
-
Hallo leute!
Ich hab mal ne fragen, was gibt es alles für system() befehle?
Ausser dir und csl und pause?Und wie kann ich mit dir den inhalt von anderen ordnern (nicht den ordner wo programm ausgeführt wird) anzeigen??
-
Kein_Ahnung schrieb:
Und wie kann ich mit dir den inhalt von anderen ordnern (nicht den ordner wo programm ausgeführt wird) anzeigen??
system("dir pfad");
-
ok danke, das geht, aber hat jemand eine liste mit den systembefehlen?
oder gibt es auch bessere lösungen?(vorallem für cls, dir und so??)
Weil system soll ja nicht sooo gut sein...
-
Kein_Ahnung schrieb:
Ich hab mal ne fragen, was gibt es alles für system() befehle?
Ausser dir und csl und pause?Was du an system übergeben kannst ist absolut implementationsspezifisch und hat nichts mit Standard-C++ zu tun. system startet nur den Command-Interpreter. Was der für Commands versteht ist abhängig vom Betriebssystem und nicht von C++.
-
ok, aber wie kann ich ohne dieses system, zB den bildschirm leeren?
-
Kein_Ahnung schrieb:
ok, aber wie kann ich ohne dieses system, zB den bildschirm leeren?
In Standard-C++ überhaupt nicht. Das ist BS-abhängig. Für Windows schau einfach mal in die Dos-/Konsolen-FAQs.
-
so um ein verzeichnis index anzulegen solltest du nicht system nehmen
sondern z.b. WIN32_FIND_DATAich programmiere gerade einen webserver
und dafür brauche ich ja auch eine funktion die bei verzeichnissen ohne einen
default index(z.b. index.html) eine verzeichnis übersicht ausgibt.diese poste ich hier mal muss aber dazu sagen der funktion sellbst wird ein verzeichnis in der form htdocs/ordner1/ordner2/ übergeben
die "funktion" WIN32_FIND_DATA
erwartet aber ein verzeichniss in der form
htdocs\\ordner1\\ordner2\\die funktion ergänzt einen string um die information
zuerst fügt es die Verzeichnisse ein dann die dateien
weiterhin ist zu sehen wie man bestimmte dateien auschließt
in meinen fall alle versteckten und die dateien .htaccess, .htpasswd und die beide sinnlosen angaben . und ..(DOS religte)std::string showdir(const char *directory,const char *path, std::string body) { WIN32_FIND_DATA fd; HANDLE hfind; char buf[255]; char newbuf[255]; int i; int j; std::string bodytemp; strcpy(buf,directory); i = 0; j = 0; while( buf[i] != 0 ) { if( buf[i] == '/' ) { newbuf[j] = '\\'; newbuf[j+1] = '\\'; j+=2; } else { newbuf[j] = buf[i]; j++; } i++; } newbuf[j] = 0; strcat( newbuf , "*.*" ); hfind = FindFirstFile(newbuf,&fd); while(hfind != INVALID_HANDLE_VALUE) { if ((std::string)fd.cFileName != "." && (std::string)fd.cFileName != ".." && (std::string)fd.cFileName != ".htaccess" && (std::string)fd.cFileName != ".htpasswd" && fd.dwFileAttributes != FILE_ATTRIBUTE_HIDDEN) { if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { sprintf(newbuf,"<TR><TD><A HREF=\"%s%s\">%s</a></TD>\t\t<TD>-</TD><TD> Verzeichniss</TD></TR>\n",path,fd.cFileName,fd.cFileName); body += newbuf; } else { sprintf(newbuf,"<TR><TD><A HREF=\"%s%s\">%s</a></TD>\t\t<TD>%d</TD><TD> BYTES???</TD></TR>\n",path,fd.cFileName,fd.cFileName,fd.nFileSizeLow); bodytemp += newbuf; } } if(!FindNextFile(hfind,&fd)) break; } FindClose(hfind); body +=bodytemp; return body; }