S
So hab jetzt schnell für mich selber ein Tool geschrieben..
Wenn es jemand gebrauchen kann, kann er den code ja verbessern *gg*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
Kleines Hilfsprogramm um per drag and drop eine Textdatei
in eine mehrzeilige Stringvorlage zu verwandeln.
Programm ist freeware
Autor: salvation
Beispiel:
Eingabe -> Datei test.txt
autECLSession.autECLPS.SendKeys "[home]"
autECLSession.autECLOIA.WaitForInputReady
Ausgabe -> Datei test_neu.txt
"autECLSession.autECLPS.SendKeys \"[home]\"\n"
"autECLSession.autECLOIA.WaitForInputReady\n"
*/
#define PUFFER_MAX 50000
int main(int argc, char *argv[])
{
FILE *lesen_stream, *schreiben_stream;
char dateipfad[255];
char puffer[PUFFER_MAX];
int zeichen_int;
int z;
int zeichen_zaehler_p;
int puffer_status=2;
if (argc == 1)
{
printf(
" String-Builder von salvation (FREEWARE) \n"
"--------------------------------------------------------------------------------\n"
" Mit diesem kleinen Programm kann eine Text-Datei in eine mehrzeilige\n"
" Stringvorlage fuer die Sprache C konvertiert werden.\n"
"\n"
" Anwendung: Eine Text-Datei auf diese Exe-Datei ziehen (drag and drop) \n"
" und dann wird eine neue konvertierte Text-Datei erstellt.\n"
" -> Textdatei darf nicht groesser sein als 50kB \n"
"\n");
}
if (argc == 2)
{
strcpy(dateipfad,argv[1]);
strcpy(puffer,"\"");
zeichen_zaehler_p=1;
lesen_stream=fopen(dateipfad,"r");
if (lesen_stream == NULL)
{
printf("\n\n\n Fehler: Konnte datei nicht oeffnen. \n");
printf(" Datei: %s \n",dateipfad);
}
else
{
zeichen_int = fgetc(lesen_stream);
while (zeichen_int != EOF && zeichen_zaehler_p != PUFFER_MAX-10)
{
switch (zeichen_int)
{
case '\n':
puffer[zeichen_zaehler_p]='\\';
zeichen_zaehler_p++;
puffer[zeichen_zaehler_p]='n';
zeichen_zaehler_p++;
puffer[zeichen_zaehler_p]='\"';
zeichen_zaehler_p++;
puffer[zeichen_zaehler_p]=(char)zeichen_int;
zeichen_zaehler_p++;
puffer[zeichen_zaehler_p]='\"';
zeichen_zaehler_p++;
zeichen_int = fgetc(lesen_stream);
break;
case '\"':
puffer[zeichen_zaehler_p]='\\';
zeichen_zaehler_p++;
puffer[zeichen_zaehler_p]='\"';
zeichen_zaehler_p++;
zeichen_int = fgetc(lesen_stream);
break;
case '\'':
puffer[zeichen_zaehler_p]='\\';
zeichen_zaehler_p++;
puffer[zeichen_zaehler_p]='\'';
zeichen_zaehler_p++;
zeichen_int = fgetc(lesen_stream);
break;
default:
puffer[zeichen_zaehler_p]=(char)zeichen_int;
zeichen_int = fgetc(lesen_stream);
zeichen_zaehler_p++;
}
}
fclose(lesen_stream);
puffer[zeichen_zaehler_p]='\0';
strcat(puffer,"\\n\"");
printf("Datei: %s -> gelesen.\n",dateipfad);
puffer_status=1;
if (zeichen_zaehler_p > PUFFER_MAX-12)
{
puffer_status=2; /* datei war zu gross -> fehler */
printf("\n FEHLER: Text-Datei war zu gross -> max 50kb erlaubt. \n");
}
}
}
/* ********** ANFANG - in Datei schreiben ******************* */
if (puffer_status == 1)
{
z=strlen(dateipfad);
dateipfad[z-4]='\0';
strcat(dateipfad,"_neu.txt");
if ((schreiben_stream=fopen(dateipfad,"w")) == NULL)
{
printf("\n Konnte Datei %s nicht schreiben.",dateipfad);
}
else
{
fprintf(schreiben_stream,"%s",puffer);
fclose(schreiben_stream);
printf(" Datei: %s -> wurde geschrieben.\n",dateipfad);
}
}
/* ********** ENDE - in Datei schreiben ******************* */
printf("\n\n Druecken Sie <Enter> um das Fenster zu schliessen. ");
setvbuf(stdin,NULL,_IONBF,0);
setvbuf(stdin,NULL,_IOFBF,BUFSIZ);
getchar();
return 0;
}