D
Dragosani
Hallo,
ich weiß, daß es unhöflich ist, wenn man mit seinem ersten Post gleich eine Frage stellt, aber ich weiß im Moment nicht mehr, was da falsch sein könnte.
Es geht um folgendes Programm:
Der Sinn dahinter soll sein, daß dieses kleine Programm alle Dateien in dem Unterordner "test" umbenennen soll und dabei die ersten 4 Stellen wegläßt. Das Programm wird fehlerfrei kompiliert und ausgeführt, aber dennoch wird nichts umbenannt. Im Array b[] ist auch korrekt der gekürtzte Name drin.
Was habe ich denn nun schon wieder falsch gemacht
Helft einem Anfänger - ach ja, ich nutze DevC, Windows XP.
ich weiß, daß es unhöflich ist, wenn man mit seinem ersten Post gleich eine Frage stellt, aber ich weiß im Moment nicht mehr, was da falsch sein könnte.
Es geht um folgendes Programm:
Code:
#include <cstdlib>
#include <dirent.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
DIR *hdir;
struct dirent *entry;
hdir = opendir("./test");
do
{
entry = readdir(hdir);
if (entry)
{
cout << entry->d_name << endl;
char a[entry->d_namlen],b[entry->d_namlen-4];
for (int i=0;i<entry->d_namlen;i++)
{
a[i]=entry->d_name[i];
}
for (int i=0;i<entry->d_namlen;i++)
{
b[i]=entry->d_name[i+4];
}
for(int i=0;i<entry->d_namlen-4;i++)
{
cout << b[i];
}
cout << endl;
rename(a,b);
}
} while (entry);
closedir(hdir);
system("PAUSE");
return EXIT_SUCCESS;
}
Der Sinn dahinter soll sein, daß dieses kleine Programm alle Dateien in dem Unterordner "test" umbenennen soll und dabei die ersten 4 Stellen wegläßt. Das Programm wird fehlerfrei kompiliert und ausgeführt, aber dennoch wird nichts umbenannt. Im Array b[] ist auch korrekt der gekürtzte Name drin.
Was habe ich denn nun schon wieder falsch gemacht

Helft einem Anfänger - ach ja, ich nutze DevC, Windows XP.