#include <stdio.h>
void quote(const char *s)
{
int i;
printf(" \"");
for (i = 0; s[i]; i++) {
if (s[i] == '\\')
printf("\\\\");
else if (s[i] == '"')
printf("\\\"");
else if (s[i] == '\n')
printf("\\n");
else
printf("%c", s[i]);
if (i % 48 == 47)
printf("\"\n \"");
}
printf("\"");
}
const char progdata[] =
"\n{\n int i;\n\n printf(\" \\\"\");\n "
" for (i = 0; s[i]; i++) {\n\n if (s[i] == '\\\\"
"')\n printf(\"\\\\\\\\\");\n else if ("
"s[i] == '\"')\n printf(\"\\\\\\\"\");\n "
" else if (s[i] == '\\n')\n printf(\"\\\\n\""
");\n "
"/\n else\n printf(\"%c\", s[i]);\n "
"\n if (i % 48 == 47)\n printf(\"\\"
"\"\\n \\\"\");\n }\n printf(\"\\\"\");\n}\n\n"
"\nconst char progdata[] =\n@@;\n\nin"
"t main(void)\n \n{\n"
" int i;\n\n \n for (i = 0; progdata[i"
"]; i++) {\n if (progdata[i] == '@' && prog"
"data[i + 1] == '@')\n \n {"
"\n quote(progdata); "
"\n i++;/\n } else\n printf(\"%c\","
" progdata[i]); \n }\n "
" return 0;\n}\n";
int main(void)
{
int i;
for (i = 0; progdata[i]; i++) {
if (progdata[i] == '@' && progdata[i + 1] == '@')
{
quote(progdata);
i++;
} else
printf("%c", progdata[i]);
}
return 0;
}