
Zitat von
Paper
Mal eine andere frage

den Pfad zur Datei die eingelesen wird habe ich momentan so angegeben
Code c:
1
2
3
| //Festlegen des Pfades für die Input-Datei
FILE *fileInput;
fileInput = fopen( "squidN123.log", "r"); |
das geht aber nur wenn die Datei sich im gleichen Ordner befindet wie das Programm.
Das ist schonmal nicht richtig. Die Datei muss sich im aktuellen Verzeichnis (CWD) befinden, wo das Programm liegt ist unwichtig.

Zitat von
Paper
Geht das irgendwie das die Software drauf zugreift auch wenn die 2 Dateien in unterschiedlichen Verzeichnissen liegen?

Ja, das geht. Dann mußt du den Pfad eben angeben (z.B. als Kommandozeilenoptionen?)
Gruß
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Bsp:
Code c:
1
2
3
4
5
6
| while (fgets(line, ...) != NULL) {
char* rest;
if ((rest = strtok(line, " \t\n")) != NULL) {
fprintf(out, "%s %s", Unix2Date(line, mode), rest);
}
} |
Gruß
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Etwas einfacher:
Code c:
1
2
3
4
5
6
7
8
| while (fgets ... ) {
int len;
int uxtime;
if (sscanf(puffer, "%d.%*d%n", &uxtime, &len) >= 1) {
fprintf(... , "%s %s", Unix2Date(uxtime, mode), puffer + len);
}
} |
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Zitat von
Paper
Code c:
1
2
3
4
5
6
7
8
| while (fgets (rest,80,fileInput) {
int len;
int uxtime;
if (sscanf(puffer, "%d.%*d%n", &uxtime, &len) >= 1) {
fprintf(fileInput, "%s %s", Unix2Date(int unixzeit,int modusTime), puffer + len);
}
} |
so ungefähr? =/
Ja, ungefähr. 
Du mußt doch nun wirklich gar nichts mehr tun. Den Code innerhalb der Schleife setzt du einfach in deine while(fgets...) Schleife ein und entfernst alles unnötige drumherum.
Für dich:
Code c:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| int logConvert()
{
//Zwischenspeicher fürs Einlesen
char puffer[256];
int line= sizeof(puffer);
//Trennzeichen
char del[]="\n";
//Zählvariabeln
int i =0;
//Festlegen des Pfades für die Input-Datei
FILE *fileOutput;
fileOutput = fopen( "squidNeu.log", "w");
//Überprüfung, ob Datei vorhanden ist
if(NULL == fileOutput) {
fprintf(stderr, "Fehler beim Oeffnen ...\n");
return EXIT_FAILURE;
}
//Festlegen des Pfades für die Output-Datei
FILE *fileInput;
fileInput = fopen( "squid123.log", "r");
//Überprüfung, ob Datei vorhanden ist
if(NULL == fileInput) {
fprintf(stderr, "Fehler beim Oeffnen ...\n");
return EXIT_FAILURE;
}
//solange Zeilen vorhanden sind wird eingelesen
while(fgets (puffer, line, fileInput))
{
/// neue Zeilen
int len;
int uxtime;
if (sscanf(puffer, "%d.%*d%n", &uxtime, &len) >= 1) {
fprintf(fileOutput, "%s %s", Unix2Date(uxtime, 1), puffer + len);
}
////
}
//Schließen der Dateien
fclose(fileInput);
fclose(fileOutput);
} |
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.