[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 20:03 / Filesize : 140 KB / Number-of Response : 601
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

七行プログラミング part5



1 名前:デフォルトの名無しさん mailto:sage [2006/03/16(木) 09:02:39 ]
7行×79文字なら言語は問いません。
過去作品は、もしかしたら>>2-20あたりに。

前スレ
pc8.2ch.net/test/read.cgi/tech/1051703369/
part 3
pc2.2ch.net/tech/kako/1033/10331/1033143528.html
part 2
pc3.2ch.net/tech/kako/1018/10188/1018840143.html
part 1
pc.2ch.net/tech/kako/984/984182993.html


357 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 10:56:16 ]
>>356
常套句。鼻から悪魔で検索してみろ

358 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 11:48:49 ]
なるほど。生まれる前から言われてた言葉だったのか。
勉強になるなぁ。

359 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 12:03:57 ]
351は鼻から悪魔が出るんじゃないかな。

360 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:29:14 ]
出ないでない

361 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:30:34 ]
351なら出ても仕様違反ではないけどな

362 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:45:17 ]
どこが悪いの?

363 名前:デフォルトの名無しさん mailto:sage [2007/02/01(木) 18:52:07 ]
>>361
> c[i]&&(t--||(t=c[++i]-*c))
||はsequence pointだからt--とt=c[++i]-*cはこの順に値の変更が行われることが保証されてる

364 名前:305 mailto:sage [2007/02/01(木) 23:42:07 ]
副作用完了点とか意識してなかったわ('д`)

365 名前:デフォルトの名無しさん [2007/03/04(日) 18:06:55 ]
int puts(const char*);int main(void){return puts("age")<0;}



366 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:12:19 ]
かなりの趣味スレですね

367 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:19:55 ]
ageるからには何かネタないの?

368 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 18:24:12 ]
>>365
ネタもなしにあげとはずいぶんなおまーんこですね
↑この一文を解釈して動くプログラミング言語を作ってくれ

369 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:13:21 ]
宣言だけ書いとけば、使ったライブラリを勝手にリンクしてくれる、と解釈。
つまりincludeの省略か。
しかしそんなもん俺に作れるわきゃーない。

370 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 19:16:36 ]
Cの話なら、#includeしなくても直にプロトタイプ宣言すれば済むじゃん?

371 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:44:22 ]
(・д・)どのCの話だ?

372 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 21:53:15 ]
#includeディレクティブとリンカがどのライブラリをリンクするかは関係ないでs

373 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 22:58:55 ]
#DEFINE ネタもなしにあげとはずいぶんなおまーんこですね main(){return(0);}

374 名前:デフォルトの名無しさん mailto:sage [2007/03/04(日) 23:02:34 ]
このスレではreturnに括弧つけるのは許されないだろ、常識的に考えて…

375 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 04:16:30 ]
って言うか生きてたんだなおまいら。



376 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 07:42:48 ]
main関数でreturnしなかった場合、
戻り値は0になると決められているから、
return(0);は書く必要すらない。
-10文字

377 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 01:23:37 ]
どんな処理系だそれは。

% cat test.c
#include <stdio.h>
main(void){printf("hello, world\n");}

% gcc -ansi -pedantic test.c

% ./a.exe
hello, world

% echo $?
13


それとも、言ってるのはこういう意味じゃない?


378 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 01:27:49 ]
>>377
gcc -std=c99 -pedantic test.c

379 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 01:35:29 ]
99じゃしょうがないな


380 名前:デフォルトの名無しさん [2007/05/01(火) 07:42:12 ]
age

381 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 15:53:57 ]
WinMainって
int WINAPI WinMain(HMODULE,HMODULE,LPSTR,int)
これじゃだめなのかな
bcc5.5.1とvc8.0では一応通ったんだけど

382 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 17:33:41 ]
HINSTANCEもHMODULEも意味のない構造体へのポインタだから大丈夫だろ。

383 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 18:55:53 ]
全く問題ない

384 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 12:56:16 ]
動けばいいってんなら、HWNDでもいいし、void*でもいいだろ。

385 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:00:03 ]
綺麗に書くなんて下の下だな
短く書け。ただし環境依存するな。



386 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:05:28 ]
>>385
長いし環境依存だし、しかも纏めようとしてる辺りが気に入らない
(´・ω・`) で?

387 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:08:16 ]
HWND環境依存じゃないだろ?
今手元にヘッダファイル無いけど…

388 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:16:48 ]
帰り値も 必要ないんじゃないのか?

389 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 13:19:25 ]
main型の返り値に関しては微妙だな

390 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 14:20:55 ]
HWNDとかいう時点で十分に環境依存な気がするんだが、これは言ったらダメか。

391 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:07:24 ]
WinMainな時点でWindows前提なんだから議論の余地はないだろうが

392 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 15:14:24 ]
(´・ω・`) で?

393 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 16:45:18 ]
このスレでの環境依存というのはそういう意味ではなくて、
開発環境に依存するコードを書くなって事じゃないかな。
#includeなくても動く環境とか、main関数でreturnがいらない環境とか、
そういう環境もあるけど、それに依存するコードは駄目だよって意味じゃない?

394 名前:デフォルトの名無しさん [2007/05/02(水) 17:55:57 ]
(д)゚ ゚

395 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 17:57:14 ]
結論を出す必要は無いんだよ。 思ったようにコード書けばいいじゃない。




396 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 18:16:13 ]
今までこのスレ(過去スレ含)に出てきたコードを見てると
修正を加えないとコンパイルさえ通らないのばかり
よってセーフ

397 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 18:33:02 ]
大事なのは面白い事

398 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 20:34:19 ]
アウトセーフ決めるのは自分だし。
その限界の中でどれだけ短く出来るかが面白い。

399 名前:デフォルトの名無しさん mailto:sage [2007/05/02(水) 22:55:14 ]
コンパイルが通らないようなのは全然駄目だと思うが、
全然駄目なのを発表するのは自由なんじゃないの?

多くの人に評価されたいなら、コンパイルくらい通して欲しいね

400 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 00:05:35 ]
まぁ試した、というか動く処理系を明記して欲しいわな。

401 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 13:58:47 ]
コメントも7行に入るんですか?

402 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 14:46:07 ]
すみません
あの
#include<stdio.h>
#include<windows.h>

int a = 1;

int main()
{
while(a)
{
printf("1〜8どうぞ\n0は終了\n---------");
scanf("%d", &a);

switch(a)
{
case 1: ::Beep(262, 300);break;
case 2: ::Beep(294, 300);break;
case 3: ::Beep(330, 300);break;
case 4: ::Beep(349, 300);break;
case 5: ::Beep(392, 300);break;
case 6: ::Beep(440, 300);break;
case 7: ::Beep(494, 300);break;
case 8: ::Beep(523, 300);break;
}
}
return 0;
}
これ7行にするとコンパイルできないんですよ
どうしたらいいですか?

403 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 14:58:40 ]
その7行にしたほうのコードを見せなきゃわからんだろ

404 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 15:12:47 ]
#include<stdio.h>#include<windows.h>int a = 1; int main(){ while(a){
printf("1〜8どうぞ\n0は終了\n---------");scanf("%d", &a);switch(a){
case 1: ::Beep(262, 300);break;case 2: ::Beep(294, 300);break;
case 3: ::Beep(330, 300);break;case 4: ::Beep(349, 300);break;
case 5: ::Beep(392, 300);break;case 6: ::Beep(440, 300);break;
case 7: ::Beep(494, 300);break;case 8: ::Beep(523, 300);break;}}return 0;}

>>402をそのまま短くしたんですけどエラーがたくさんでるんですよ

405 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 15:14:24 ]
実になんと言うこともないがプリプロセッサはつなげられない
#include<stdio.h>
#include<windows.h>
int a=1;int main(){while(a){printf("1〜8どうぞ\n0は終了\n---------"
);scanf("%d",&a);switch(a){case 1:Beep(262,300);break;case 2:Beep
(294,300);break;case 3:Beep(330,300);break;case 4:Beep(349,300);
break;case 5:Beep(392,300);break;case 6:Beep(440,300);break;case 7:
Beep(494,300);break;case 8:Beep(523,300);break;}}return 0;}



406 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 15:16:57 ]
そうだったんですかっ!

ありがとうございます。

407 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:14:08 ]
#pragma warning(push, 0);
#include <ntddk.h>
#define F(f) KeServiceDescriptorTable->s[*(PULONG)((PUCHAR)f+1)]
typedef struct{PVOID* s;PULONG c;ULONG t;PUCHAR a;}SDT;long (NTAPI *O)(HANDLE,
long);extern SDT* KeServiceDescriptorTable;long NTAPI N(HANDLE h,long s){
DbgPrint("Exit%d",s);return O(h,s);}NTSYSAPI long NTAPI ZwTerminateProcess(
HANDLE,long);void U(PDRIVER_OBJECT d){InterlockedExchange(&F(ZwTerminateProcess
),O);}long D(PDEVICE_OBJECT d,PIRP i){i->IoStatus.Status=0;IoCompleteRequest(i,
0);return 0;}long DriverEntry(PDRIVER_OBJECT d,PUNICODE_STRING r){int i;for(i=0
;i<27;++i)d->MajorFunction[i]=D;d->DriverUnload=U;O=InterlockedExchange(&F(
ZwTerminateProcess),N);return 0;}

// 実行テスト環境 Win2k(build2195)SP4
// ビルド環境 WinXP VC8 + Windows DDK 3790.1830 -> Win2k Checked Build
C_ASSERT(sizeof(SDT) == 16); // prgma pack(1)

408 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:14:41 ]
11行 orz


一応32bit Win2K(とたぶんXP)のNt(Zw)TerminateProcessをフクーするドライバ
ビルドしてテストできる環境は少ないと思うから面白くないかもしれない
ZwCloseとかのフックならntddk.hで宣言されてるので宣言文いらないし、
さらに環境を絞ったハードコードやら、アンインストール時に修復しない青画面直行OK仕様ならもっと削れる

けど、この内容では俺にはもうむりぽ

409 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:23:52 ]
#include<stdio.h>
#define B 102400
typedef unsigned char y;unsigned char b[B];int e(FILE *fp,y *i,int m){int r,c;
int x;x=0;while(x<m) {x=g(i,x,m,0xff,&r,&c);fputc(r,fp);fputc(c,fp);}return 0;}
int g(y *i,int x,int m,int l,int *r,int *c){int p;p=x;*r=1;*c=i[p];p++;
while(p<m && *c==i[p] && *r<l ) {p++;(*r)++;}return p;}int main(char *a[]){
FILE *_i,*_o;int i,c;_i=fopen(a[1],"rb");i=0;while(i<B && (c=fgetc(_i))!=EOF) {
b[i]=c;i++;}fclose(_i);_o=fopen(a[2],"wb");e(_o,b,i);fclose(_o);}

>>405作った初心者ですが
ハフマン法圧縮なんですけど作ってみました
どうしてもあと1行減らす方法が思いつかないんですけどどうしたらいいと思いますか?
目が潰れそうです

410 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:34:09 ]
普通のプログラミングのときの習慣を忘れればいろいろ短くなる気が

411 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:40:00 ]
B を const にすりゃ いけるんじゃないの?

412 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:10:04 ]
#include<stdio.h>
typedef unsigned char y;unsigned char b[102400];int e(FILE *fp,y *i,int m){
int r,c;int x;x=0;while(x<m) {x=g(i,x,m,0xff,&r,&c);fputc(r,fp);fputc(c,fp);}
return 0;}int g(y *i,int x,int m,int l,int *r,int *c){int p;p=x;*r=1;*c=i[p];
p++;while(p<m && *c==i[p] && *r<l ) {p++;(*r)++;}return p;}int main(char *a[])
{FILE *x,*z;int i,c;x=fopen(a[1],"rb");i=0;while(i<102400 && (c=fgetc(x))!=EOF) {
b[i]=c;i++;}fclose(x);z=fopen(a[2],"wb");e(z,b,i);fclose(z);}

ちょっと短くなりました

413 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:29:25 ]
先ほどの>>409>>405ではなく>>404でした

414 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:42:39 ]
#include<stdio.h>
int d(FILE *fp){int i;int r,c;while(!feof(fp)) {r=fgetc(fp);c=fgetc(fp);
for(i=0;i<r;i++){fputc(c,stdout);}}return 0;}int main(int ac,char *av[]){
FILE *fp;if ((fp = fopen(av[1],"rb"))==NULL)return 6;d(fp);fclose(fp);return 0;}

解凍は4行でできました。

415 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:00:21 ]
#pragma warning(push, 0)
#include <ntddk.h>
typedef struct{PVOID*s;}SDT;extern SDT*KeServiceDescriptorTable;ULONG F(void*f)
{return(*(ULONG*)((UCHAR*)f+1));}void*I(void*f){return InterlockedExchange(
KeServiceDescriptorTable->s+F(ZwClose),f);}long(NTAPI*O)(void*);long NTAPI N(
void*h){DbgPrint("0x%08X",h);return O(h);}void U(PDRIVER_OBJECT d){I(O);}long
DriverEntry(DRIVER_OBJECT*d,UNICODE_STRING*r){d->DriverUnload=U;O=I(N);return 0;}

機能はそのままでZwCloseにした。意外と削れた。最後の行が82文字orz アタマイタイ



416 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:12:22 ]
というか標準入出力にすればいいんでないかい?

417 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:02:19 ]
>>409
・1度しか呼ばれない関数は定義しない
 eもgもmainに展開する
・代入で無く初期化を使う
 int x;x=0;→int x=0;
・なるべくライブラリを使う
 freadとか
・whileよりforを使う
・繰り返しは1行になるようにする
・不要なスペース、変数、typedefを削る

これで随分削れると思う
ところでハフマン符号じゃなくてランレングスだよね

418 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 00:23:37 ]
>>417
アドバイスありがとうございます
挑戦してみます

419 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 03:33:22 ]
>>412
mainの仮引数ってそんなんで大丈夫なのか?

更に短くするコツとしては、
* 関数の戻り値の型が int の時は省略する。
* 仮引数に int がある場合は、K&R式の宣言を使うと短くなる場合がある。
例えば2引数のmainなら、main(c,v)char**v{} とするのが一番短い。

420 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 03:35:04 ]
どうせすぐ終了するんだし、fcloseなんかしない、っていう手もあるなw

421 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 04:44:26 ]
こんなんでいいんじゃないか?

#include<stdio.h>
main(c,a)char**a;{FILE*i=fopen(a[1],"rb"),*o=fopen(a[2],"wb");while((c=getc(i))
!=EOF){int x=1,d;while((d=getc(i))==c&&x++<255);ungetc(d,i);putc(x,o);putc(c,o)
;}fclose(o);fclose(i);return 0;}

422 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 06:38:51 ]
>>421
すごいっすねw

423 名前:デフォルトの名無しさん [2007/05/07(月) 21:11:00 ]
>>420
mainからreturnかexitで終了するかしたらプログラムが終了する前に閉じられてないストリームは閉じられるはず。

424 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:12:53 ]
すみません
ランレングスでした

425 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:57:09 ]
誰かお題ちょーらい



426 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 19:10:47 ]
viみたいな簡易エディタがほしいな

427 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 20:02:38 ]
www.itmedia.co.jp/news/articles/0609/06/news107.html
お題
ナンプレ自動作成ソフト

428 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 20:13:47 ]
>>427
www.timedia.co.jp/news/event/884464213/numplace20060906.pdf
これよめ
くず

429 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:52:28 ]
>>428
結局その最後の解き味を判定する評価関数がすべてだよなあ

430 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:56:02 ]
作成より前に解くほうってもう出てたっけ? 7行で。
7行じゃなけりゃそんなに難しいお題じゃないけど。

431 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 02:36:40 ]
枝刈りなしのバックトラックなら7行で書けたが、
答えが出ないからあってるのかわからん・・・

432 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:48:24 ]
計算で出せばよくね?

一定の時間のクリック数/一定の期間にクリックできる最大数

433 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:50:06 ]
誤爆かね

434 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 17:51:03 ]
ばれたかねww

435 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 01:12:28 ]
まさか>>429へのレスのつもりじゃなかろうなと心配した



436 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 10:24:33 ]
「結局その最後の解き味を判定する評価関数がすべてだよなあ」


「計算で出せばよくね?
一定の時間のクリック数/一定の期間にクリックできる最大数」


考えただけでわらっちゃう

誤爆してすみませんでした。

437 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 23:58:22 ]
保守

438 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 23:29:07 ]
CやC++のコメントを除去するプログラムって過去に上がってたっけ?


439 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:14:02 ]
Perlで作ればいいだろう

440 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 16:09:05 ]

/* hogehoge /* fugafuga */ hagehage */

こんな風なコメントのときどう処理すればいいですか?


441 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:50:44 ]
>>440
手動

442 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 20:57:52 ]
コメントの中なに書いても良いんだから

/* hogehoge /* fugafuga hagehage */

/* hogehoge fugafuga */ hagehage */

なんかもあり


443 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 21:33:13 ]
>>442
>なんかもあり

上の例は全部コメントだからありだけど、下の例はダメだよ。

だから >>440
hagehage */
が残るのがコメント除去ツールとしては正しい処理だね。

もちろん /* から */ までと言っても、
\/* asdf */ みたいにエスケープされていたら、それはコメントにならない。

コメント閉じをエスケープするには /* *\/ と書く。

というわけで /* \*/ は正しいコメントだ。


444 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 21:42:53 ]
>>443は書き方間違った
>コメント閉じをエスケープするには /* *\/ と書く。
フツーはこう書くけど、これ、別にエスケープじゃないね。
ごめん。

445 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 00:58:13 ]
VCじゃネストコメント文だめっぽいな
Dならイイらしいが



446 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 02:18:22 ]
>>438ですが、
少しでも役に立つものがあれば…と思ったのですが、
7行の題材としてはあまり面白くなかったですかね。
頑張れば5行くらいで書けるでしょうし。

いい題材が浮かびません…。


447 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 03:47:17 ]
>>445
コメントのネストは伝統的にないことになってるはず。
>>446
5行で書く方法を思いつかない…orz

こんなコメントとか
/* printf("*/ \"\\"); */
Shift JISの2バイト目をきちんと処理できるように書くには7行じゃ足りない気がするんだけど…。



448 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 23:04:50 ]
>>447
ヒント:7行でありさえすればいい

449 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 00:09:34 ]
>>447
>/* printf("*/ \"\\"); */
これは、コメント削除処理した結果が
\"\\"); */
になればいいんですよね?

Shift JISの2バイト目をきちんと処理できるかどうかを検証する文字列って
どんなのなのでしょうか?


450 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 08:38:24 ]
>>449
> Shift JISの2バイト目をきちんと処理できるかどうかを検証する文字列って
ソ/* */
とか?

451 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 08:43:43 ]
ちょっと違うな。こういうのか?
printf("ソ");/* */

452 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 10:04:12 ]
こんなかんじで。
#include <stdio.h>
int main(int, char *[]) {
  printf("表");/* ");/* */
  return 0;
}

というか、別に入力文字コードはUTF-8限定でもいいと思うんだけど。

453 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 11:18:18 ]
(^ω^;) (*ノ *)ノ

454 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 17:15:43 ]
n869 にこんな例があるな。

m = n//**/o
+ p;

m = n + p;


455 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 17:34:54 ]
> \/* asdf */ みたいにエスケープされていたら、それはコメントにならない。

ダウト。\/ というシーケンスは規格では定義されていない。



456 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 18:49:59 ]
>>455>>443=444並のあわてんぼさん。

457 名前:デフォルトの名無しさん [2007/07/06(金) 00:18:02 ]
>>414のランレングス解凍、3行になったぞ。
#include<stdio.h>
d(FILE*q){int r,c;if(!q)return 6;while((r=fgetc(q))+1)for(c=fgetc(q);putchar
(c),--r;);fclose(q);return 0;}main(int c,char**a){return d(fopen(a[1],"rb"));}







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<140KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef