- 1 名前:デフォルトの名無しさん [2010/04/10(土) 23:30:23 BE:454421186-S★(520172)]
- C言語の*入門者*向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 62 pc12.2ch.net/test/read.cgi/tech/1269517734/ ★過去スレ makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000 ★初心者、初級者の方は他の質問スレのほうが良いかもしれません。 例えば 【初心者歓迎】C/C++室 Ver.72【環境依存OK】 pc12.2ch.net/test/read.cgi/tech/1267775473/ とか ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 135代目 pc12.2ch.net/test/read.cgi/tech/1269438098/ ★C++言語についてはなるべく聞かないでください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
- 802 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 02:44:29 ]
- >>800
例えば、プログラムを実行して 1[改行] と入力した場合、入力内容は '1\n' となる。 よって、2つめのscanf()が実行された時点で、未読込の文字'\n'があるので、 2つめのscanf()は、更なる入力を待たず b に '\n' を代入してすぐ返る。 よって一つ目の文字を入力した時点で終了してしまうように見える。
- 803 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 02:48:42 ]
- >>802
なるほど 納得しました ありがとうございました
- 804 名前:795 [2010/05/10(月) 02:57:13 ]
- お早い回答ありがとうございました。
- 805 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 12:01:15 ]
- getchar()やscanf()のような文字単位処理関数と端末エミュレータの一行編集とが相性悪いんだよな。
その点だけはGUIの方が初心者には判り易いと思うんだが。 # 尤も、そこに辿り着くまでの長い道程がGUIの最大の欠点なわけで…… 入門書ではscanf()やgetchar()を使わず、全部コマンドラインオプションでやる方がシンプルに説明できるんじゃないか? # そうすると、今度はコマンドインタプリタの余計なお世話を回避することを学ばないとならなくはなるけれど。
- 806 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 14:07:23 ]
- >>805
コマンドラインオプション? コマンドインタプリタ? 意味が通じてない。えらそうなこという前に正しい用語ぐらい覚えておけ。
- 807 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 14:47:07 ]
- >>806
コマンドライン引き数、コマンドラインインタプリタと言えばご満足?
- 808 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 14:48:53 ]
- つーか、>805が偉そうだと思えるほど、>806は自信の知識の足りなさを実感しているのだろうな。
- 809 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 15:01:20 ]
- えらそうな人は実際えらい
- 810 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 15:02:27 ]
- 原始UIと入出力はプログラミングの基本だろ
それ無しでどうやって入門するんだよ
- 811 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 15:24:39 ]
- scanfなんて最初の勉強以外で使ったこと無いな
- 812 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 17:09:08 ]
- >>806 も少しうざいけど、
>>805 の発言こそ「えっ」なんだが。
- 813 名前:JaneDoeの抽出って便利だな mailto:sage [2010/05/10(月) 17:15:50 ]
- なんで>729とか>731とか>778とか>812って、その「えっ」の内容を書かないんだろうな。
余程自信がないんだろうか。
- 814 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 17:40:16 ]
- >>813
書かなくても普通にわかるだろwwww お前が書いた本人なの?添削して欲しいの?
- 815 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 18:05:54 ]
- >>805
まじで何が言いたいのかさっぱりわからん。 >>807 それならますます意味が通じなくなる。 国語の成績が最低だったことだけはわかる。
- 816 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 18:26:16 ]
- おれが訳してやろう
getchar()やscanf()ってコマンドラインから入力とかに素直に使えないよな だから初心者はGUIのほうがいいんだろうけど、GUIはやりたいことやるまでのおまじないの解説とかが多いしな いっそコマンドラインのやつはパラメータを全部引数にしちゃって渡すとかが入門にはいいかな でも、それだと引数の解釈のところがめんどくなるだけか みたいな話だと思う、要は、えらそうにアレにもこれにも文句つけてるけど特に建設的な意見はない人だ 国語の成績はよかったと思うよ、大した事言ってないのにえらそうにするやりかたとかさ でも、人に説明とかは苦手(で、通じなくて相手を馬鹿にして非難)な人だろうな
- 817 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 18:49:06 ]
- >>816
翻訳ありがとー 彼の言ってる内容はわかったが、その内容に意味がないこともよくわかったわw
- 818 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 18:50:43 ]
- 研修でscanf()の使用を禁じられていたので。
- 819 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 19:08:53 ]
- 同じ言葉を2回続けるとニュアンスが正反対になるよ!ふしぎ!
例 はい はいはい
- 820 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 19:19:05 ]
- >>815
それはお前が低脳だからだよ 高脳なら低脳の書いたよくわからん文でも理解できるが、 低脳はさっぱりわからんで終わり。 俺も低脳だから>>805はよく分らんがな >>817 周りは普通脳以上は、やれやれ低脳にはこんなことまでしてやらないと理解できないのか 低脳は大変だな、これじゃ仕事でも手間かかるなだろな。
- 821 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 19:38:52 ]
- >>805 の言いたいことは解るけど、
「相性が悪い」という点に同意できないんだよ。
- 822 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 19:50:03 ]
- >>821
それはお前が低脳だからだよ
- 823 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 23:12:00 ]
- 仕方ない。俺が >>805 を翻訳してやろう
-- >>getchar()やscanf()のような文字単位処理関数と端末エミュレータの一行編集とが相性悪いんだよな。 getchar()とかscanf()のような標準入力からデータを受け取る関数は、 echo offにしてないと出力と入力のechoが混ざって相性悪いんだよな。 >>その点だけはGUIの方が初心者には判り易いと思うんだが。 >># 尤も、そこに辿り着くまでの長い道程がGUIの最大の欠点なわけで…… その点GUIはそういうToLoveるが無いので初心者も安心。 もっともGUIアプリを作るなんて、初心者には果てしなき道のりなわけで……
- 824 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 23:41:00 ]
- getchar()はいいだろ。
素直にストリームの動作のイメージを反映してるし。
- 825 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 00:05:25 ]
- 問題は、行内編集ができるから一文字ずつ入力するのに向かないってことでしょ。
getchar()で一文字入力しようとして「なぜか先に進む」類の罠に嵌まる質問が後を絶たないからね。
- 826 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 01:35:25 ]
- だから、単におまえの望む動作になってないってだけで全然相性は悪くないだろ。
ついでに言うと、1行編集は端末エミュレーターの機能じゃねえよ。 無知をさらしてるってことに早く気付けよ。
- 827 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 02:08:52 ]
- ファイルを分割するプログラムで疑問に思った点があります
質問させていただきます fseek(fp, 0, SEEK_END) ftell(fp) としてサイズを取得した場合 今の自分の目的としているものが 195768 バイトのファイルなので 値としても 195768 とでてきます しかし、 fseek(fp, 0, SEEK_SET) ftell(fp) として見てみると、この値は 0 とでてきます ファイルポインタを先頭に置いているときは、 ftellの結果は 1 と出てくるのが妥当ではないかと感じるのですが (fseek(fp, 195768, SEEK_SET) と fseek(fp, 0, SEEK_END) が一致するなら、データが 195769 個あるように思うため) 先頭、あるいは末尾がopenしたファイルのデータとは異なる 特殊なものになっているのでしょうか? 分かりにくいかと思いますが、上手く説明できず申し訳ないです
- 828 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 02:12:16 ]
- >>827 fseek(fp, 0, SEEK_END) のあとに fgetc(fp) してデータが取れるかな?
- 829 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 02:13:34 ]
- >>827
0バイトのファイルで考えてみて
- 830 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 02:14:18 ]
- >>827
char file[195768] に対する添え字と同じ。 fseek(fp, 0, SEEK_END) は &file[195768] ってこと。
- 831 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 02:15:19 ]
- うほ、なにやら沢山ありがとうございます
付けてもらったレスみて考えてみます 感謝
- 832 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 02:28:37 ]
- みなさまのおかげで修正したプログラムも無事動きました
ありがとうございます
- 833 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 02:39:06 ]
- >>827
> ファイルポインタを先頭に置いているときは、 > ftellの結果は 1 と出てくるのが妥当ではないかと感じるのですが ファイルアドレスは 0 から始まるので、ファイルポインタが先頭、つまり 0 バイト目にある時は ftell() の結果は 0 と出るのが妥当です。 ファイルサイズ 0 の場合に fseek(fp, 0, SEEK_END) した時、ftell() が 1 を 返すのは妥当ではないと感じませんか? ファイルサイズ 1 の場合に fseek(fp, 0, SEEK_END) した時、ftell() が 2 を 返すのは妥当ではないと感じませんか? > fseek(fp, 195768, SEEK_SET) と > fseek(fp, 0, SEEK_END) > が一致するなら、データが 195769 個あるように思うため) いきなり 195768 のように大きなアドレスを扱うから混乱します。 まずファイルサイズ 0 の場合を考えてみてください。 fseek(fp, 0, SEEK_SET) ないし fseek(fp, 0, SEEK_END) をしてもファイル ポインタは先頭、つまり 0 バイト目を指したままですが、そこに 1 個目の データが存在すると思いますか? いいえ、存在しません。 同様に、ファイルサイズ 195768 の場合、fseek(fp, 195768, SEEK_SET) ないし fseek(fp, 0, SEEK_END) をしてもファイルポインタは 195768 バイト 目を指しますが、そこに 195769 個目のデータが存在すると思いますか? ファイルサイズ 195768 なのに、最後の 1 バイトのデータはどこから来る のでしょう? いいえ、どこからも来ません。データは 195768 個しかありません。 ファイルポインタが指している場所に必ずしもデータが存在するとは限り ません。
- 834 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 03:45:02 ]
- コンソールに計算式(例:34+4)を入力して演算結果を出力するプログラムを作っています。
作ってみたのですが、足し算しかうまくいきません。 どこが違ってるのかよくわからないのでアドバイスください。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10592.c
- 835 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 04:07:50 ]
- >>834
if(p!=NULL){ b = atoi(p + 1); printf("%d + %d = %d\n", a,b,a+b); } else if(q!=NULL) { c = atoi(q + 1); printf("%d - %d = %d\n", a,c,a-c); } else if(r!=NULL){ d = atoi(r + 1); printf("%d * %d = %d\n", a,d,a*d); } else if(s!=NULL){ e = atoi(s + 1); printf("%d / %d = %d\n", a,e,a/e); }
- 836 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 04:38:18 ]
- なんでb, c, d, eを分けてるの?
ch1, ch2, ch3, ch4は何の意味があるの?
- 837 名前:デフォルトの名無しさん [2010/05/11(火) 12:15:32 ]
- >>834
それ以前に 文字列の初期化なし 入力妥当性チェックなし
- 838 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 12:29:04 ]
- >文字列の初期化なし
ってなんの話?
- 839 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 12:30:49 ]
- 空の文字列入れるとか、memsetで埋めるとかしないと
何にも入ってない不定の状態での格納は危険じゃないかと。 あと、ch1〜ch4に入れるときのキャストがなんか気持ち悪い。
- 840 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 12:37:33 ]
- >>839
>何にも入ってない不定の状態での格納は危険じゃないかと。 どんな危険があるのですか?
- 841 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 13:12:06 ]
- 0でターミネートし忘れた場合とかぬかすんだろどうせw
- 842 名前:デフォルトの名無しさん [2010/05/11(火) 14:29:03 ]
- 至急!!!!
任意個数の整数を標準入力(キーボード)から入力し、 入力された整数の個数 平均値(小数点以下 1 桁まで表示) 最大値 最小値 を標準出力(ディスプレイ)に表示するプログラムがわかりません。
- 843 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 14:29:52 ]
- ただし、9999が入力されたら入力を終了するものとし、9999は入力個数、平均値、最
大値、最小値には含めない。 また、最初に9999が入力された場合には、入力個数=0、平均値=0.0、最大値=0、 最小値=0が出力されるようにする。
- 844 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 14:37:52 ]
- >>842
わかりました!!!!
- 845 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 14:55:29 ]
- >>834
NULLだろうけど変数が多いね。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10593.txt やりたいのはこういうこと?
- 846 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 15:01:03 ]
- >>842
まず、入力がなくなるまでループ 最初の1個目を最大値、最小値とみなす 2個目以降は最大、最小を調べる 合計値に順次足していってループ回数もメモっておく ループ抜けたら最大値、最小値、平均値を出力しておわり
- 847 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 15:03:30 ]
- 小数点一桁目まで出すのなら %.1f だっけ?
- 848 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 15:04:59 ]
- >>846
それができないから聞いてるんですけど・・・
- 849 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 15:27:07 ]
- >>484
なぜ出来ないか詳しく。 制限のためか、それともC言語を書けない為か?
- 850 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 15:35:03 ]
- ここまで書いたけど・・・とソース晒すとか、何がわからないのかを具体的・端的に説明するとかしない奴は
プログラムを自分で書く気はない。 宿題スレへ。
- 851 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 15:36:27 ]
- 宿題スレどこ?w
- 852 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 15:48:34 ]
- 死ぬがよい
- 853 名前:デフォルトの名無しさん [2010/05/11(火) 16:44:46 ]
- 課題で出たんですが
アルファベット1文字と整数型の数値 n を読み込んで,その文字の n 文字後の文字を表示するプログラムを書きなさい とはどういうことでしょうか?アルファベットとは数値のことですか?全体的に問題の意味が わからないんですが・・・
- 854 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 16:53:55 ]
- >>853
アルファベット1文字・・・A-Z a-z 整数型の数値n・・・0-99999999... A + 0 = A A + 1 = B A + 2 = C ...
- 855 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 16:56:56 ]
- はぁ?アルファベットはアルファベットだろうが
つかCの話でもなんでもないじゃん たとえば a5 なら a から5番目→g f3なら fから3番目→i D1なら E ってことだろ もらった文字に数字足して、zをこえるならAに残ったぶんを足すんじゃね?
- 856 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 16:59:21 ]
- a5 なら a から5番目→f だったwww
zまで行ったらAにもどるのめんどいなら 「そこに文字はないです」って言って再入力させるとか
- 857 名前:デフォルトの名無しさん [2010/05/11(火) 17:40:08 ]
- うん?よくわかりません、アルファベットってのは数字に値するんですか?
どういう数え方ですか?アルファベットにアルファベットを足したら? このプログラムの方法もよくわかりません。頭悪くてすいません・・・一応 今日も徹夜・・
- 858 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 17:49:22 ]
- >>857
アルファベットの文字コードのことなんだけどね。 char c = 'A'; という構文はわかる? そして c = c +1; putchar(c); とすると画面には B と表示されるんだけど・・・
- 859 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 18:03:43 ]
- >>857
アスキーコードでググれ どのアルファベットがどの数字に割り当たってるのかわかるし 順番に並んでるのを見れば理解も早い
- 860 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 18:08:33 ]
- いろいろな操作を行って、例えばABCD\0が入っている文字配列Z[5]を
空にする(宣言直後の状態に戻す)方法はありますか? 例えばループ中で代入しようとするとエラーを吐いてしまいます。 まだかなり初心者だと思いますが、よろしくお願いします。
- 861 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 18:13:04 ]
- >>860
とりあえず、君が書いたコードを貼れよ あと宣言直後は空でなく、デタラメな文字が入ってるよ。
- 862 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 18:28:58 ]
- >>860
memset( Z, 0x00, sizeof( Z ) );
- 863 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 18:29:58 ]
- >>860
for(i=0;i<=5;i++)としてないかな? 添え字は0から始まるので要素数5の場合は for(i=0;i<5;i++)として0〜4の範囲を指定せねばいかんよ。 初期化の方法は Cならmemset WinAPIならZeroMemory C++ならstd::fill 使い回さずにその都度宣言した方がいいと思う
- 864 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 18:31:35 ]
- 宣言直後に入っている文字列を別の配列にコピーしておいてあとでコピーしなおせばいいんじゃないの?何がしたいのか分からんが。
- 865 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 18:39:44 ]
- >>860
*z = '\0';
- 866 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 20:21:33 ]
- >>865
君は C プログラマには向いてないから BASIC 等をやったほうが良いんじゃないかな。
- 867 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 20:57:13 ]
- >>866
なんだって
- 868 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 22:16:02 ]
- シューティングゲーム作ってるんですが、int型とdouble型では
どちらのほうが計算速度が速いですか?
- 869 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 22:17:23 ]
- double型。
- 870 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 22:21:20 ]
- >>869
ありがとう!
- 871 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 22:22:40 ]
- んなわけないだろ。
- 872 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:03:44 ]
- いやdouble型早いから
- 873 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:16:39 ]
- 今時のCPUならほとんど変わらない、まぁ、実測が基本
intからdoubleとかdoubleからintへの変換が多くあると急激に遅くなる がんばって、固定小数にしてもそれほど早くもならなかったので、浮動小数でいいやとなった これ以上速くしようと思ったらアルゴリズム改良するかGPUに支援してもらうか、はぁ
- 874 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:44:15 ]
- VIA の CPU なら整数演算でないと激遅
- 875 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:48:05 ]
- 浮動小数点型はCPUによって微妙に数値誤差の出方が変わるので
リプレイ機能と相性が悪い聞く事がある 同じIntel系同士でもそうなるのかは俺は知らない
- 876 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:49:50 ]
- 使う命令を切り替える実装を使うな
- 877 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 23:56:58 ]
- アセンブラでCPUの拡張命令(SSEとか3D Now!!)を叩くしかない。
- 878 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:11:57 ]
- WINAPIのwsprintfでは実数が扱えなかったので、
sprintfを使いました。 そこからWINAPIのTextOut等で、ウィンドウに文字を表示したいのですが、 char *型からLPCWSTRへの変換が出来ないのでエラーになります。 何かいい方法ありませんか?
- 879 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:22:21 ]
- mbstowcsって言えばいいのかな?
- 880 名前:デフォルトの名無しさん [2010/05/12(水) 00:41:05 ]
- >>858
char型って整数の範囲決まってませんでした?じゃぁnが大きいと 計算できないんじゃ?Aは65ってこと? プログラムにはアルファベットとnを入力させるように作るのですか?・・ 初心者に見せかけて相当理解力が弱いんで優しくしてください・・ まじわからんww
- 881 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:47:53 ]
- 文字コードってのがあんだよ。
コンピューターは01しか理解できないから文字も01に変換して処理させてるわけ。
- 882 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:54:44 ]
- >>878
tchar.hをインクルードして_stprintf使え。 これでcharではなく、Windows APIのTCHARが使える(正確には、ちと違うが)。
- 883 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:55:21 ]
- >>878
TextOutA()
- 884 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 00:56:04 ]
- ASCIIコード表を見るといいと思うよ。
- 885 名前:デフォルトの名無しさん [2010/05/12(水) 00:56:55 ]
- >>881
文字コードは01じゃないけどな。
- 886 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 01:00:07 ]
- 2進数に直したら全部01だろ馬鹿か
- 887 名前:デフォルトの名無しさん [2010/05/12(水) 01:00:51 ]
- 直すからだろw
- 888 名前:デフォルトの名無しさん [2010/05/12(水) 01:01:49 ]
- >>1
山手線符号化したら、全部駅名だろwwアホww
- 889 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 01:32:15 ]
- >>888
もしよろしければどこへの誤爆かおしえていただきたいのですがいかがですかね
- 890 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 01:41:51 ]
- >>882
TCHAR の意味解ってないだろ。 >>884 ASCII とは限らないだろ。
- 891 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 01:49:13 ]
- TCHAR?
ティーチャーって先生って意味ですよね。
- 892 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 07:40:39 ]
- >>880
文字コードの文字のところ一部抜粋。 #include <stdio.h> int main(void) { int i; for (i=61;i<123;i++) { printf("%c(%3d) ",i,i); if((!(i%10))||(i==122))printf("\n"); } return 0; }
- 893 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 08:03:20 ]
- >>882
_stprintfから、swprintfの存在を知り、問題なく実数でも扱えて 処理できました。 ありがとう!
- 894 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 08:31:06 ]
- 文字コード云々じゃなくてさ、問題の意味がわからないって質問だろ?
アルファベットにアルファベットを足すとか言ってるし、「整数 n」←このnをアルファベットだと思ってるんじゃないの? 入力されたアルファベットにnというアルファベットを足すってどういう意味って聞いてるんじゃないの?
- 895 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 08:58:14 ]
- 初心者質問していい?
- 896 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 09:02:10 ]
- だめ
- 897 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 09:51:53 ]
- >>895
どうぞ。 >>894 >「整数 n」←このnをアルファベットだと思ってるんじゃないの? その発想はなかったw
- 898 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 12:11:13 ]
- どうも元質問者は VBからの移行なのか variant型 が当然のようで
変数 a に 文字の '1' を与える → 整数演算の時 値として 1 に評価される という思考から抜け出せないでいるようだ
- 899 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 13:46:27 ]
- PHPとかその辺混乱しまくりw
- 900 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 15:29:52 ]
- いつの話してんだ
- 901 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 18:57:08 ]
- VC++2008を使っています.
画像を入れる配列を3つに増やそうとすると 'System.StackOverflowException' のハンドルされていない例外が ○○.exe で発生しました。 とエラーがでてしまいます.少し調べたところ,unsigned charしすぎて回帰の回数が増えたためなのかと思ったんですが,どうしても配列を3つ以上使いたいのですがあきらめるしかないのでしょうか? 以下エラーの原因と思われるソースの一部です.(main.cpp) FILE *fp; unsigned char header[54]; unsigned char screen[400][300][3];//読み込み用 unsigned char screenB[400][300][3];//保存用 unsigned char screenG[400][300][3];//保存用 //ここをコメントアウトしたらエラー消える //unsigned char screenR[400][300][3];//保存用 /* 画像サイズ */ int yl=400;//y_long //呼び出し履歴によるとここでデバッグが止まる int xl=300;//x_long /* ファイルから読む */ fp=fopen("test.bmp","rb"); /* Windowsビットマップ形式 400*300ピクセル,24ビットカラー */ fread(header,1,54,fp); /* ヘッダ(54バイト)を飛ばす */ fread(screen,1,yl*xl*3,fp); /* 残りはデータ(最下行から順に入る) */ //fread(screenB,1,yl*xl*3,fp); fclose(fp);
- 902 名前:デフォルトの名無しさん mailto:sage [2010/05/12(水) 19:01:11 ]
- スタックがあふれるならヒープに取ればいいじゃない、ということで、
mallocとか使って動的にメモリを確保するんです。 多分その段階だとポインタになれてないだろうから、がんばれ、とエールを。
|

|