#include header.h
//Hier wären normalerweise die namespaces
template <>
bool save(const char varName[], char &var)
{
bool Schleife1 = 1,
Schleife2 = 1,
Schleife4 = 1,
rueckgabe = 0;
char buffer[2] = "\0",
buffer2[2] = "\0",
textbuffer[F_MAX_NAME_SIZE] = "\0",
textbuffer2[F_BUFFER_SIZE] = "\0";
int count = 0;
fpos_t pos;
FILE *f;
if (fopen_s(&f, "data.txt", "r+"))
{
fopen_s(&f, "data.txt", "w");
fclose(f);
fopen_s(&f, "data.txt", "r+");
fseek(f, F_FILESTART, SEEK_SET);
fprintf(f, "\n?%%?");
}
fseek(f, F_FILESTART, SEEK_SET);
while (Schleife1)
{
Schleife2 = 1;
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '\n')
{
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '!')
{
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '%')
{
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '%')
{
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '!')
{
while (Schleife2)
{
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '!')
{
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '%')
{
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '!')
{
if (!strcmp(varName, textbuffer))
{
fseek(f, 0, SEEK_CUR);
fgetpos(f, &pos);
memset(textbuffer2, 0, F_BUFFER_SIZE);
sprintf_s(textbuffer2, F_BUFFER_SIZE, "%c\0", var);
fflush(f);
fsetpos(f, &pos);
F_autoRemoveContent(f);
fopen_s(&f, "data.txt", "r+"); //Neu öffnen wegen F_cleanup
fseek(f, 0, SEEK_SET);
fsetpos(f, &pos);
F_insert(f, textbuffer2);
memset(textbuffer, 0, sizeof(textbuffer) / sizeof(int));
rueckgabe = 1;
Schleife2 = 0;
Schleife1 = 0;
}
else
{
memset(textbuffer, 0, sizeof(textbuffer) / sizeof(int));
}
Schleife2 = 0;
}
else
{
strcat_s(textbuffer, "!%%");
strcat_s(textbuffer, buffer);
}
}
else
{
strcat_s(textbuffer, "!");
strcat_s(textbuffer, buffer);
}
}
else
{
strcat_s(textbuffer, buffer);
}
}
}
else
{
fseek(f, -4, SEEK_CUR);
}
}
else
{
fseek(f, -3, SEEK_CUR);
}
}
else
{
fseek(f, -2, SEEK_CUR);
}
}
else
{
fseek(f, -1, SEEK_CUR);
}
}
else
{
if (buffer[0] == '?')
{
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '%')
{
fscanf_s(f, "%c", &buffer[0]);
if (buffer[0] == '?')
{
if (rueckgabe != 1)
{
fseek(f, -3, SEEK_CUR);
fprintf(f, "!%%%%!%s!%%!%c\n?%%?", varName, var);
}
Schleife1 = 0;
}
}
}
}
}
fclose(f);
return rueckgabe;
}