さっそくsoftya(ソフト屋)さんの進めてくださった本を買ってきました。
前にブックオフは近所にある2店は見てみたのですが、見つかりませんでした。ネットで中古本を買うのは全く確認ができないので、気長に古本屋めぐりをしてみたいと思います。
今はCだけなので、たかぎさんに紹介いただいた本は使えないのですが、大学に入って落ち着いたらC++も覚えようと思っているので、その時に手に取ってみたいと思います。
質問に答えていただきありがとうございました。
検索結果 26 件
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: 新ANSI C言語辞典 に代わる本
- 返信数: 6
- 閲覧数: 5015
新ANSI C言語辞典 に代わる本
以前、こちらで質問させていただいたときに
「新ANSI C言語辞典 」という本を薦められたので、あちこちの本屋をめぐってみたのですが、
見つからなかったため、この本の代わりとなる本を探しています。
よろしくお願いします。
以前質問したときのページ
http://dixq.net/forum/viewtopic.php?f=3&t=10329
「新ANSI C言語辞典 」という本を薦められたので、あちこちの本屋をめぐってみたのですが、
見つからなかったため、この本の代わりとなる本を探しています。
よろしくお願いします。
以前質問したときのページ
http://dixq.net/forum/viewtopic.php?f=3&t=10329
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ビット演算と戻り値
- 返信数: 19
- 閲覧数: 8119
Re: ビット演算と戻り値
>>softya(ソフト屋)さん さっそく参考記事の方読んでみます。 >>beatleさん 「新ANSI C言語辞典」を次に書店を訪れたときに探してみます。 最初の質問内容からだんだんとずれていってしまい、もうしわけありませんでした。 全くとっかかりのつかめなかった unsigned short get2 (unsigned char *s){ ----略------ return s[0] << 8 | s[1]; } をどうにかこうにか迫って行けそうになってきたので、ちゃんと理解できているかを実際にコードを書いて確かめてみたいと思います。 boxさん、softya(ソフト屋)さん、IS...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ビット演算と戻り値
- 返信数: 19
- 閲覧数: 8119
Re: ビット演算と戻り値
printf("%d\n",sizeof(unsigned int)); で確認してみましたが4バイトでした。 また、読み返してみるとprintfのフォーマット指定しもunsigned intを表示させるなら%uでした。 unsigned int promote = 0xffffffff; printf("%u\n",promote); promote += 1; printf("%u\n",promote); printf("size:%d\n",sizeof(unsigned int)); 上記のようにして試してみたところ 4294967295 0 4 と出力されたので、unsigned ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ビット演算と戻り値
- 返信数: 19
- 閲覧数: 8119
Re: ビット演算と戻り値
環境を書き忘れていました。すみませんでした。 OS winXp 32bit コンパイラ VC++2008 以下上記の環境を前提条件としてお願いします。 >>beatleさん >>softya(ソフト屋)さん >>ISLeさん 計算結果が ・signed int型で表せるならばsigned int型に昇格 ・signed int型で表せずにunsigned int型で表せるならばunsigned int型に昇格 ということでしょうか? もし上記のように昇格するとすると signed int型でもunsigned int型でも表せないものはどのような扱いになりますか? unsigned int ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ビット演算と戻り値
- 返信数: 19
- 閲覧数: 8119
Re: ビット演算と戻り値
>> softya(ソフト屋) さん >>メモリ:1|2|3|4|5|6|7|8|8|7|6|5|4|3|2|9 (右に向かってメモリ上のアドレスが大きくなっていく) は、1ビット区切りです。16個の区切りをつけるのに番号を付れば楽に区切れたので本来記録できないはずの値を載せてしまいました。すみません。 メモリ:1|1|1|1|1|0|0|1|1|1|1|0|1|0|0|0(1bit単位で計16bit、右に向かってアドレスが大きくなる) ポインタsが指し示すのが上記メモリの最左端とすると 2進数 16進数 s[0] = 1|1|1|1|1|0|0|1 0xf9 s[1] = 1|1|1|0|1...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ビット演算と戻り値
- 返信数: 19
- 閲覧数: 8119
Re: ビット演算と戻り値
>>この場合のポインタは配列として処理しているだけなのですが、s[0]とs[1]は何処の値をそれぞれ何バイト取り出すことになるでしょうか? メモリ:1|2|3|4|5|6|7|8|8|7|6|5|4|3|2|9 (右に向かってメモリ上のアドレスが大きくなっていく) ポインタsが指し示すのが上記の1のアドレスだとすると、 s[0] = 1|2|3|4|5|6|7|8 s[1] = 8|7|6|5|4|3|2|9 のように、s[0],s[1]ともに1バイトずつ取り出す こういうことでしょうか? >>いえ、1バイトの変数に対して<<3演算してもこうはなりません。 実際にprintfして確認してみて...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ビット演算と戻り値
- 返信数: 19
- 閲覧数: 8119
Re: ビット演算と戻り値
s[0],s[1]・・・がそれぞれ1バイトのunsigned char型であるということを書きたかったのですが、あきらかに言葉不足でした。もうしわけありません。
<<演算子は
aを変数,xを定数としたとき
a << x はaをxビット分だけ左にずらす演算子だと思っています。
例・1バイトの変数
10011011(二進数表記)にたいして << 3とすると 11011000を返す
ポインタであることをどのように利用されているのかは、分かりません。
<<演算子は
aを変数,xを定数としたとき
a << x はaをxビット分だけ左にずらす演算子だと思っています。
例・1バイトの変数
10011011(二進数表記)にたいして << 3とすると 11011000を返す
ポインタであることをどのように利用されているのかは、分かりません。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: ビット演算と戻り値
- 返信数: 19
- 閲覧数: 8119
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: コードリーディングの方法
- 返信数: 2
- 閲覧数: 1516
Re: コードリーディングの方法
まさにそれです。
ありがとうございます。
ありがとうございます。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: コードリーディングの方法
- 返信数: 2
- 閲覧数: 1516
コードリーディングの方法
以前どこかのページでwikiを利用したコードリーディングの方法が載っていて今度試してみようと思ったのですが、
そのページをブックマークしていなかったため、今その方法を解説したページを探しています。
ご存知の方がおられましたら、教えてください。
また、長いソースをしっかりと理解するうえで気をつけておくべきことなどあれば教えてください。
読もうと思っているソースは9000行前後です。
そのページをブックマークしていなかったため、今その方法を解説したページを探しています。
ご存知の方がおられましたら、教えてください。
また、長いソースをしっかりと理解するうえで気をつけておくべきことなどあれば教えてください。
読もうと思っているソースは9000行前後です。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: WinSock 代入式が理解できない
- 返信数: 9
- 閲覧数: 4294
Re: WinSock 代入式が理解できない
解決の連絡とお礼が遅れて申し訳ありませんでした。
みなさまのご協力のおかげで無事解決することができました。
本当にありがとうございました。
みなさまのご協力のおかげで無事解決することができました。
本当にありがとうございました。
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: WinSock 代入式が理解できない
- 返信数: 9
- 閲覧数: 4294
Re: WinSock 代入式が理解できない
もうしわけありませんでした。次回からはURLを載せるようにします。 //LPHOSTENT(lphost) typedef struct hostent FAR *LPHOSTENT; //SOCKADDR_IN(sockaddr) typedef struct sockaddr_in { #if(_WIN32_WINNT < 0x0600) short sin_family; #else //(_WIN32_WINNT < 0x0600) ADDRESS_FAMILY sin_family; #endif //(_WIN32_WINNT < 0x0600) USHORT sin_port; ...
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: WinSock 代入式が理解できない
- 返信数: 9
- 閲覧数: 4294
Re: WinSock 代入式が理解できない
1-lpHost構造体のメンバであるh_addr_listは目的の情報(IPアドレス)へのポインタが入っている。
つまり、*lpHost->h_addr_list はIPアドレス情報(数値)を表すもの
2-上記の値をLPIN_ADDR型にキャストする
3-LPIIN_ADDR型はポインタ型なので、キャストされた結果あらわすのは目的の情報(IPアドレス)へのポインタだから、実際の数値を左辺に代入するために*をつけることによってポインタのさす数値としている
ということでよいのでしょうか?
やはり、ポインタに対する理解が不足しているのでわからないのでしょうか?
つまり、*lpHost->h_addr_list はIPアドレス情報(数値)を表すもの
2-上記の値をLPIN_ADDR型にキャストする
3-LPIIN_ADDR型はポインタ型なので、キャストされた結果あらわすのは目的の情報(IPアドレス)へのポインタだから、実際の数値を左辺に代入するために*をつけることによってポインタのさす数値としている
ということでよいのでしょうか?
やはり、ポインタに対する理解が不足しているのでわからないのでしょうか?
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: WinSock 代入式が理解できない
- 返信数: 9
- 閲覧数: 4294
Re: WinSock 代入式が理解できない
すみません。言葉が足りませんでした。
自分は書籍版の「猫でもわかるネットワークプログラミング」を参照しながら学んでいました。
自分が読んでいるところに対応するところがwebにおける「猫でもわかるネットワークプログラミング」のサイトの第230章です。
書籍「猫でもわかるネットワークプログラミング」を持っていない方も多数いると思ったので、対応するwebページも載せたほうがいいと思ったですが、
わかりづらくて大変申し訳ありませんでした。
自分は書籍版の「猫でもわかるネットワークプログラミング」を参照しながら学んでいました。
自分が読んでいるところに対応するところがwebにおける「猫でもわかるネットワークプログラミング」のサイトの第230章です。
書籍「猫でもわかるネットワークプログラミング」を持っていない方も多数いると思ったので、対応するwebページも載せたほうがいいと思ったですが、
わかりづらくて大変申し訳ありませんでした。
- 12年前
- フォーラム: みんなでソースコードをレビューしよう
- トピック: 16 進 HTML/CSS カラーコードの10進RGBへの変換
- 返信数: 1
- 閲覧数: 10987
- 12年前
- フォーラム: C言語何でも質問掲示板
- トピック: WinSock 代入式が理解できない
- 返信数: 9
- 閲覧数: 4294
WinSock 代入式が理解できない
sockaddr.sin_addr = *((LPIN_ADDR)*lpHost->h_addr_list); 猫でもわかるネットワークプログラミング 第230章の部分を書籍版を参照していたのですが、上記の部分をどのように理解していけばいいのかわかりません。 変数は以下のように定義されています。 LPHOSTENT lpHost; SOCKADDR_IN sockaddr; #include <winsock2.h> ただ、2つの変数のどちらの型も調べてみても、どうもしっくりとくる解説のページがなくてどうにもなりませんでした。 SOCKADDR_IN構造体は接続するために必要な情報を格納するも...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 圧縮ファイルの解凍(raw)?
- 返信数: 3
- 閲覧数: 2327
Re: 圧縮ファイルの解凍(raw)?
printfデバッグは試してみたのですが、 huffの配列の個数が1025個でまた、その変数の値を10進数16進数どちらでみても全く意味がとれませんでした・・・ >>機能的には英語にあるコメント通りだとは思いますが。 自分の勉強不足なだけなのですが、英語が大変苦手で、コメントを正確に和訳(理解)できていません 自分では以下のように和訳したのですが、肝心の2文目の意味がうまく取れていません。 Construct a decode tree according the specification in *source. 複合化用のハフマン木を*source配列を種にして作る。 The first...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 圧縮ファイルの解凍(raw)?
- 返信数: 3
- 閲覧数: 2327
圧縮ファイルの解凍(raw)?
デジタル一眼レフのraw(.nef形式 nikon d5000で撮影)を自分で現像するためにいろいろとやっていました。日本語の情報がまともに見つからないので、海外のサイトを調べていた中で、以下のような記述をみつけました。 Compression is a Huffman tree and a quantization table. これは圧縮形式がハフマン木と量子化テーブルから成り立っているということでいいのでしょうか? もし、そうであるならば、この二つのことについて解説していただけませんでしょうか? 自分でも調べてみたのですが、ハフマン木の圧縮の仕組みはわかったのですが、それをnefファ...
- 13年前
- フォーラム: みんなでソースコードをレビューしよう
- トピック: _tstofの代わりの関数
- 返信数: 5
- 閲覧数: 8411
Re: _tstofの代わりの関数
(int)_tcslen(buf)>=16のときにx[20]とかbuf[21]とかにアクセスして別のメモリ領域を書き換えてしまう、という理解で大丈夫ですか?今の今までそんなこと考えても見ませんでした。早速16桁を超える場合の処理を書きます。 >>double x = .1; >>double y = 5e-2; こんな表記方法もC/C++でも許さているのですか!!すごく勉強になります。今回はこのような入力を受け取ることがないのがわかっているので、使いませんが、今度必要になってくるはずなのでこのページをしっかりとブックマークします。 罵詈雑言の嵐を予想していただけに、これほど親切に批評していた...
- 13年前
- フォーラム: みんなでソースコードをレビューしよう
- トピック: _tstofの代わりの関数
- 返信数: 5
- 閲覧数: 8411
Re: _tstofの代わりの関数
・WideCharToMultiByteでANSI文字列(char)に変換してatof ・_tcstod どちらの関数も調べてみました。コンパイラから「定義されていない」と起こられることもなく、まだ、試していないのですが、調べた限りではうまくいきそうです。一回charに変換すればいいというのは盲点でした。_tstofが使えないならatofもつかえないだろうという先入観に取り付かれていました。 >>16桁を超える入力があると、範囲外アクセスが生じる windows ce上で自分がプログラミングする上では、16桁を超える変数を扱うとしたら、その数値自体がもともとエラーになるべきものなので、16...
- 13年前
- フォーラム: みんなでソースコードをレビューしよう
- トピック: _tstofの代わりの関数
- 返信数: 5
- 閲覧数: 8411
_tstofの代わりの関数
windows ce上で_tstof()を使おうとしたら、「そんな関数定義されてない」とコンパイラに怒られたため、_tstof()関数の換わりの関数を作ってみました。 変数の命名法がよくわからないため、なおのこと読みづらいコードになっていると思いますが、その点も含めて酷評希望です。 #include <stdio.h> #include <TCHAR.h> #include <math.h> double my_tstof(TCHAR buf[]); int main(void){ double x; if((x=my_tstof(_T("-1.45"))) == NULL) printf(...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: ■ 2011年 明けましておめでとうございます! ■ 【新年挨拶トピ】
- 返信数: 28
- 閲覧数: 12847
Re: ■ 2011年 明けましておめでとうございます! ■ 【新年挨拶トピ】
あけましておめでとうございます。
来年は受験なんであまりこれそうにないのが残念でなりません。
来年は受験なんであまりこれそうにないのが残念でなりません。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: Basicのエミュレータ作成:完全に行き詰りましたTT
- 返信数: 0
- 閲覧数: 1425
Basicのエミュレータ作成:完全に行き詰りましたTT
WindowsCE上で動作するBasic(プログラミング言語)のエミュレータを作っています。 手始めにXP上で動作するものを下のサイトを見ながら作ってみて、それをceに移植しようともがいています。 自分の知識ではぐぐるキーワードさえもう、思いつかず、どうにも手に負えなくなってしまいました。 せめてCE用のデバッガがあればもう少しがんばれそうなのですが、CE用のデバッガも探しても見つからず・・・ 参考にしたサイト URL:http://masudahp.web.fc2.com/cl/mbasic/index.html 使用OS WindowsXP WindowsCE6.0core(SHARP B...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: セキュリティソフトの作成
- 返信数: 2
- 閲覧数: 9722
Re: セキュリティソフトの作成
ありがとうございます。すごく参考になります。
フィルタドライバを作成すればよいのですか。
早速、調べてみます。
>>ウイルス側もバレないように自分のコードを変化させ
コードを変化させるほど複雑なウイルスはとりあえず、最初は考えずに作るつもりです。
フィルタドライバを作成すればよいのですか。
早速、調べてみます。
>>ウイルス側もバレないように自分のコードを変化させ
コードを変化させるほど複雑なウイルスはとりあえず、最初は考えずに作るつもりです。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: セキュリティソフトの作成
- 返信数: 2
- 閲覧数: 9722
セキュリティソフトの作成
タイトルに書いた通りではあるのですが、セキュリティ系のソフトを作ってみたくなりました。 実用性は考えていなのですが、市販のウィルス対策ソフト等がどのような仕組みになっているのか少しでも理解できれば良いと 考えています。 まず、ウィルススキャンソフトの方から作ってみようかと思っています。 そこで、まずつけるべき機能として考えているのは 1不審な動作をしているプログラムを見つけたら警告する。 2事前にウイルスとして登録したプログラムが動作または、存在しているのを発見したら警告or削除する 3ファイルを指定すると、そのファイルがウイルスであるかどうかを確認する をできるようにしたいです。 ...