Hi,
bei rw dachte ich es wäre das Selbe wie r+. Allerdings half das nicht
Ich arbeite ja die ZSP1.txt (mit fgets() ) durch und versuche dann in einer der unteren Schleifen mit fputs() "gleichzeitig" etwas anzuhängen. Verursacht das vllt. den Fehler ?
Der Rückgabe wert von "fputs(PfadC,ZSPF);" ist 0 also auch in Ordnung. Es wird aber nicht ausgeführt.
Nun habe ich aber anscheinend noch ein weiteres Problem, ich gebe mir meine erste Ordnerstruktur über Umlenkung in ZSP1.txt aus. Hier schreibt er alle rein (Test2, Test3, Text1.txt, Text2.txt, Text3.txt) aber er arbeitet nur die beiden Folder sowie Text3.txt in der Schleife ab.
Mfg Templer
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <io.h>
#include <sys\stat.h>
#define TPL fflush(stdin);
void chomp(char *str) {
size_t p=strlen(str);
/* '\n' mit '\0' überschreiben */
str[p-1]='\0';
}
int main(int argc, char *argv[])
{
FILE *ZSPF, *ZSPDat, *ZSPOrd, *ZSPT;
char DirAusl[10] = "dir /b ";
char DirCh[10] = "cd ";
char QPfadA[256];
char QPfadB[265];
char PfadA[256];
char PfadB[256];
char PfadC[256];
char ZSP[290];
char CSP[290];
int txt1=0;
int txt2=0;
int pruef=0, OrdVorh=0;
int i,zaehl=0;
char a[33] = {0};
char b[33] = {0};
char a1[33] = {0};
char b1[33] = {0};
char MD5QPfadA[300] = "md5sum.exe ";
char MD5QPfadB[300] = "md5sum.exe ";
int c=0;
TPL;
if (argc==3)
{
system("echo. > Ord.txt");
system("echo. > Dat.txt");
strcpy (QPfadA,argv[1]);
strcpy (QPfadB,argv[2]);
strcpy (ZSP, DirAusl);
strcat (ZSP, QPfadA);
strcat (ZSP, " > ZSP1.txt");
system(ZSP);
strcpy (CSP,DirCh);
strcat (CSP,QPfadA);
strcpy (ZSP,DirAusl);
strcat (ZSP,QPfadA);
ZSPF=(fopen("ZSP1.txt", "r+"));
while(fgets(PfadA,256,ZSPF))
{
chomp(PfadA);
strcat (CSP,"\\");
strcat (CSP,PfadA);
printf("2\n");
pruef=system(CSP);
printf("%s\n\n",CSP);
if (pruef==0)
{
strcat (ZSP,"\\");
strcat (ZSP,PfadA);
strcat (ZSP, " > Ord.txt");
system (ZSP);
printf("%s\n",ZSP);
ZSPOrd=(fopen("Ord.txt", "r+"));
while(fgets(PfadB,256,ZSPOrd))
{
chomp(PfadB);
//printf("\n%s Hier ist PfadB\n",PfadB);
strcpy (PfadC,PfadA);
strcat (PfadC,"\\");
strcat (PfadC, PfadB);
//printf("\n%s Hier ist PfadC\n",PfadC);
[COLOR="Red"][B]fputs(PfadC,ZSPF);[/B][/COLOR]
}
fclose(ZSPOrd);
}
[COLOR="red"][I] if (pruef==1)
{
ZSPDat=(fopen("Dat.txt", "r+"));
strcat(PfadA, "\n");
[B]fputs(PfadA,ZSPDat);[/B]
printf("1 %s\n",PfadA);
chomp(PfadA);
fclose(ZSPDat);
}[/I][/COLOR]
strcpy (CSP,DirCh);
strcat (CSP,QPfadA);
strcpy (ZSP,DirAusl);
strcat (ZSP,QPfadA);
}
fclose(ZSPF);
}
else
{
printf("Zu wenig oder zu viele Parameter!\n md5v.exe Datei1 Datei2");
}
return 0;
}