WinCC CSkript, Variablen in Textdatei schreiben

Stormchild

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, soll ein Skript zur Archivierung mehrerer Variablen schreiben. In meinem normalen C-Compiler war dies auch kein Problem, bis ich das ganze ins WinCC gepackt habe. Dort bringt mir der Compiler immer wieder folgende fehlermeldung: error (0040):<ident> expected before 'FILE' und error (0040):<ident> expected before '<eof>' . Leider finde ich nirgends eine Bedeutung dieses Fehlers und das Skript läuft in nem normalen Compiler ja auch?!

Hier das Skript:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
char datei[50];
char testvar[200];
char nummer[20];
printf("Dateinamen eingeben\n");
scanf("%s",nummer);
FILE *file_pointer;
strcpy(datei,"C:/\ ");
printf("%s \n",datei);
strcat(datei,nummer);
printf("%s \n",datei);
char endung[4];
strcpy(endung,".txt");
strcat(datei,endung);
printf("%s \n",datei);
printf("%s \n",endung);
file_pointer=fopen(datei,"a+");
printf("gewuenschten inhalt angeben:\n");
fflush(stdin);
gets(testvar);
fprintf(file_pointer,"%s\n",testvar);
fclose(file_pointer);
system("pause");
}


Danke schonmal

Hannes
 
Zuletzt bearbeitet:
Mach trotzdem mal aus der 4 eine 5.
Ansonsten verweise ich auf : "Kernighan,Ritchie: Programming in ANSI C."

Kann natürlich sein, dass WinCC sich an was anderem verschluckt hat.
Da kenn ich mich nicht wirklich aus.
Ich wollte auch nur sagen, dass Deine Definition nach dem Sprachstandard
zu klein ist.
Und das mit dem automatischen Verlängern gibt es meines Wissens
nur bei Konstantendefinitionen...

Kann also sein, dass bei einem Compiler sowas trotzdem funktioniert,
aber WinCC verwendet doch einen C-Interpreter, oder liege ich da falsch?
 
ob c interpreter oder nicht kann ich nicht genau sagen, ich habe spaßeshalber mal in allen arrays platz für 255 geschaffen, ändert aber nichts an der fehlermeldung
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,ich bin der Meinung das liegt an deiner Deklaration, Die muss bei ANSI C noch vor der ersten Zeile Code erfolgen. D.h. FILE *file_pointer; char endung[4];müssen vor der Zeile printf("Dateinamen eingeben\n");stehen. Miten im Code kann man das bei C++ machen.vielleicht hilfts
 
Zurück
Oben