読めるけど使わないからどうでもいい。
()の中が0かどうか、0じゃなければすぐ後ろが真で次が偽、慣れたらこちらのほうが簡単。
文も短くなるしね。
()の中が0かどうか、0じゃなければすぐ後ろが真で次が偽、慣れたらこちらのほうが簡単。
文も短くなるしね。
ありゃりゃ、大事なことじゃないけど2度言いました、すみません orz
同じことなので2度言いました^^;
958 :
デフォルトの名無しさん:2010/06/12(土) 12:42:30
(^_^;)
959 :
デフォルトの名無しさん:2010/06/12(土) 13:25:57
>>950 そう、C ではね
C では strcmp() == 0 とも !strcmp() とも書くというだけ
言語と喧嘩しても仕方ないって
if (0 == strcmp(...)) と書くやつだっているし。
...はどういう意味ですか?
省略してるだけでしょ
>>960 代入と比較を間違えないようにと左辺に定数とか
もってくる奴がいるけど、正直きもすぎるw
= で代入できてしまう言語仕様の方がきもい。
=が演算子で代入が式として扱われるのが原因だから=で代入できてしまうこと自体が問題なのではない
きもいのなら代入式を廃して「左辺値=右辺値;」で代入文になるように文法の改定を提案したらどうだ
>>941 おれもブール値のばあいは
if (b) ・・・
if (!b) ・・・
と書くけど
strcmp()のリターン値はブールじゃないから==や!=で比較する。
!strcmp って書くやつは英語ができないやつだと思ってる。
英語圏のプログラマで!strcmp()って書くヤツは英語ができないのかw
969 :
デフォルトの名無しさん:2010/06/12(土) 16:15:35
!strcmp じゃ意味ちゃうべ
お前ら一番最近作ったソフトどんなの?
しょぼい掲示板
一度に140文字ずつしか書き込めないけどw
:(;゙゚'ω゚'):
小規模だけど、デーモンとそれ専用のクライアント
>>965 勢いはいいけど…
#define NOT !
ここにいる先生たちはmallocを自分で書けますか?
かけますよ。
malloc
書きたくありませーん
windowsとして、HeapAlloc呼び出すまで自力で書けって言うなら、俺には無理そうだな
そんな車輪の再発明みたいなことは
windows なら VirtualAlloc 使おうよ
「車輪の再発明」って言葉の意味を間違って使ってるやつ意外と多いよな。
メモリをダンプしながら検証してたけど、うまくいかないので質問させてください。
文字列の一部を動的に確保したchar *hogeにコピーしようと思ってます。
char*piyo="ABCDEFG";
とやって、"BCDEF"をコピーする場合、
・hoge = (char*) malloc(5)ですか(6)ですか?
・strncpy(hoge, piyo+1, 5)とやったあと、*(hoge+5+1)=0は必要ですか?
0で終端させたいのかさせたくないのかどっちかわからんと何とも言えない
↑は*(hoge+5)=0の間違いでした。たぶん。
その後printf("%s\n", hoge)としたいので\0で終端させたいです。
hoge = (char *)malloc(6);
strncpy(hoge, piyo+1, 5);
*(hoge + 5) = '\0';
即レスthxです!
988 :
デフォルトの名無しさん:2010/06/12(土) 18:59:52
せっかく n 系使っても、この使い方じゃセキュリティ対策にならないな
>>981 ありがとう
昔の記憶で書いたのであれでしたが、ページ単位で確保するのはvirtualAlloc系でしたね
>>982 mallocぐらいになるとこう表現してもいいと思いましたが、違ってましたか
>>983>>986 sprintf()なら一発だぜ。
sprintf(hoge, "%.5s", piyo + 1);
mallocの最終呼び出しAPIはHeapAlloc
ふーん
995 :
デフォルトの名無しさん:2010/06/12(土) 22:04:51
HeapAlloc であろうと VirtualAlloc であろうと、仮にそれで「作った」として
何ができたつもりになれるんだ? くっだらねー
リーク追跡情報を付加する程度か? <自作malloc
環境によっちゃ既に仕込まれてたりするけど
大抵既にある物より下のものしか出来ないのさorz
>>992 thxです。これでsprintf覚えました。
切り出す文字列が固定幅かそれに準ずる時はかなり使えますね。
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。