外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
gccで文字を逆書きする
:gccで文字を逆書きする
@echo off
if not exist %~dpn0.exe (
for /f "delims=:" %%n in ('findstr /n "^#!" %0') do (
more +%%n %0 > %~dpn0.c
gcc -Os %~dpn0.c -o %~dpn0.exe -s
)
)
%~dpn0
goto:eof
REM #jww
REM #h3 範囲内の「文字」データのみを選択
REM #g1
REM #e
#!この次の行からプログラムを書いてください
#include "jw.h"
void reverse(char *src, char *dst)
{
dst += strlen(src);
*dst = '\0';
while (*src != '\0')
*(--dst) = *src++;
}
int main(void)
{
FILE *f, *g;
int i, n;
char S_[256], S0[256], *F[20], str[256], str2[256];
if ( (f = fopen("jwc_temp.txt", "r")) != NULL) {
g = fopen("myfiles", "w");
while (fgets(S_, 256, f) != NULL) {
strcpy(S0, S_);
if (strncmp(S_, "ch", 2) == 0) {
split(chomp(S_), F);
i = strcspn(S0, "\"");
n = strlen(S0);
substr(S0, i+1, n-i, str2);
reverse(chomp(str2), str);
fprintf(g, "ch %s %s %s %s \"%s\n", F[1], F[2], F[3], F[4], str);
} else {
if (strncmp(S_, "hq", 2) == 0) {
fprintf(g, "hd\n");
} else {
fprintf(g, S0);
}
}
}
} else {
exit(MISSING_JWC_TEMP_TXT);
}
fclose(g);
fclose(f);
remove("jwc_temp.txt");
rename("myfiles", "jwc_temp.txt");
return 0;
}
全角文字がうまくゆきません。ちょっとしたことだとはおもうんですが。