【初心者歓迎】C/C++室 Ver.11【環境依存OK】
おめでとう
strcmpだって内部ではループ使ってるんだから、
普通にループで書いた方が賢明な気がする。
ループを書くのはカッコワルイ、とかいう理由なら別だけど
#include <algorythm>
♪ Å
♪ / \ ランタ タン
ヽ(´Д`;)ノ ランタ タン
( へ) ランタ ランタ
く タン
♪ Å
♪ / \ ランタ ランタ
ヽ(;´Д`)ノ ランタ タン
(へ ) ランタ タンタ
> タン
と思ったけど、rhythm でもないじゃないか…
#include <algorithm>
○| ̄|_
最初は良く間違えるからキニスンナ
釣りかとしか思ってなかった
正直C++なんてなにもわかんないのに始めるんですが、stdioとiostreamどっちやろうか悩んでるので
こっちはコレ系に強い、とかありませんか?それともたいていどっちもやるとか、片方やればどっちもわかったりするんですか?
>>955 stdio.hもしくはcstdioで定義されているものはレガシー関数といわれています。
あまり使うべきではありません。
C/C++が初めてなら素直にCでprintfつかっとけ
C++ のストリームって、あんまり使い勝手いいと思わないよな。
stdio -> 拡張性無し、型非安全、熟知、早い
iostream -> 拡張性有り、型安全、stdio より遅いことがほとんど
>>960 printf()はとても重いし遅いけれど。
cout よりマシなのでは?
入力チェックができるのでscanf使うくらいならcinのほうがいいとは思うが
それ以外はどっちも同じようなものなのがなぁ・・・
iostreamで書式を指定するのは激しくめんどくさい
>>962 確かにそうだね。
昔の話だけれど、実際使うときはprintfを自作していたよ。
コンソールはほとんど使わないし
sprintfとかCString::Formatとか書式の方をよく使うから
へぇ
せめてsnprintf使えよ
なんかこの話の流れ Déjà vu?
誰もが好きなお話ってことよ
これからCかC++を学ぼうと思うんですがどちらがお勧めですか?
また、開発環境はどれが扱いやすいですか?
C++
禿も推奨
>>971 いきなり開発環境はいらんからフリーのコンパイラつかって
とりあえずCでもC++でもいいから入門書を一冊仕上げろ。
入門書は安いのは役に立たんから値は張っても定評のあるのにしろ。
C++ならダイテルかPrimerか。Cは俺は知らん。
とりあえず使うOSぐらい書かんと処理系についてはアドバイスのしようがないが。
Rubyにします。
OSはXPPROを使ってます
>>973 ありがとうございます。
アマゾンで調べたところ、いろいろ種類がありました。
基本的に、ダイテルの本を買っていって順に学んでいくのかPrimerの本を買っていって順に学んでいくかは好みで選んでも問題ないでしょうか?
977 :
デフォルトの名無しさん:04/11/22 00:25:41
あるtemplateクラスがあって、それを継承してtemplateで
ないクラスを作成することができるのでしょうか?
>>977 class A : public TemplateClass<ほげ>
{};
Ruby!
猫でもわかるのSDK編のサンプルは.NET2003だとそのままでは
動かないんすか?
著者に聞けよ
最近そういうページだけで覚えようとするヤツが多いみたいだけど
最低限の本ぐらい買って読めよ、と思う
983 :
デフォルトの名無しさん:04/11/22 09:11:26
984 :
デフォルトの名無しさん:04/11/22 13:40:40
fgetsでファイルから読み込んだ時にデータが長すぎて読みきれずに
バッファに残ってしまったデータのクリアのやり方がわかりません。
おしえてください。
やっぱネットで勉強するより本買ったほうがいいんすか?
>>984 ファイルから読み込んでるならクローズすればいい。
標準入力から読み込んでるなら読み捨てるロジックを書けばいい。
>>985 画面見ながら勉強するのは21インチモニターなどで画面分割しながら
やらないと苦しい。それかページを印刷してしまうかだね。
俺は本を買った方が絶対に良いと思う。
988 :
デフォルトの名無しさん:04/11/22 14:07:55
>fgetsでファイルから読み込んだ時にデータが長すぎて読みきれずに
>バッファに残ってしまったデータのクリアのやり方がわかりません。
読みきれなかったデータはバッファではなくファイル側にある。
>>986さん
即レスありがとうございます。
標準入力の場合はgetcharで空読みをしてできたのですが
ファイル入力の場合でも同じような事は出来ませんか?
次の行も読み込まなくてはいけないので。
>>990 fgetc()で読み捨てるか、fgets()で読み捨てる。
1〜10まで質問してもうしわけないのですが
fgetsで読み捨てるとしたら具体的にはどうしたらいいんでしょうか。
>>992 /* fgetc()を使った読み捨て関数。 */
void readAndThrow(FILE * fp)
{
int rtn;
do {
rtn = fgetc(fp);
} while (rtn != '\n' && rtn != EOF);
}
#if 0 /* 使用例 */
while (fgets(buf, sizeof(buf), fp)) {
if (strchr(buf, strchr('\n') == NULL) {
readAndThrow(fp);
}
/* ... */
}
#endif
>>993さん
ありがとうございます。できました。
...
readAndThrough ではないかと
読み捨てだから、読んで投げ捨てたんだろ。