C言語なら俺に聞け(入門篇) Part 10at TECHC言語なら俺に聞け(入門篇) Part 10 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト789:デフォルトの名無しさん 07/04/12 08:32:40 >>785 Cの真偽値の基本は、0でない=真、0=偽 真の場合、0でない値として必ず1を返すケースがいくつか定義されているが、 明言されていない場合は、0でないことだけが保証される。 790:デフォルトの名無しさん 07/04/12 11:41:47 なんで*(s+1)とs[1]の二つの書き方をつくったのよ>K&R *s++は*にしかできない書き方だし *(*(s+1)+2)は読みにくいからs[1][2]と書くんだけど なんか一貫性に欠けてるぞオイ なんでアメ人は人工言語にこんな汚い要素を持たせるのよ 完璧主義で潔癖症なオレはポインタと配列を使うとき、毎回迷うじゃん 791:デフォルトの名無しさん 07/04/12 11:53:05 >>790 *を使わなければいい。 *s++なんてロジックは却って最適化を阻害しかねない。 s[offset++]でいいジャマイカ。 792:デフォルトの名無しさん 07/04/12 11:56:03 読み込むファイルにひらがなあったら駄目だけどね #include <stdio.h> #include <string.h> #include <ctype.h> #define BUF_SIZE 16 int main() { FILE *fp; char filename[1024] = {'\0'}; char buff[BUF_SIZE] = {'\0'}; char *temp = NULL; size_t len = BUF_SIZE; fgets(filename,sizeof(filename),stdin); if(temp = strchr(filename, '\n')) *temp = '\0'; fp = fopen(filename, "r+b"); while(len == BUF_SIZE){ unsigned int i; len = fread(buff, 1,BUF_SIZE , fp); for(i = 0; i < len; i++) printf("%02x ",(unsigned char)buff[i]); for(; i < BUF_SIZE; i++) printf("-- "); for(i = 0; i < len; i++){ int c = buff[i]; if(isspace(c)) c = ' '; putchar(c); } putchar('\n'); } fclose(fp); return 0; } 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch