[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/27 13:34 / Filesize : 231 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.41【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:26:08 ]
エスケープシーケンスやWin32APIなどの環境依存な物でもOK。
ただしその場合、質問者は必ず、環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.40【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1184717430/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

892 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:20:32 ]
その気になれば、Trをstd::char_traits<Ch>でない何かにすることもできる、と

893 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:27:59 ]
テンプレート引数のデフォルト値

894 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:32:10 ]
template <class Ch,class Tr=std::char_traits<Ch> > class basic_string;
があるときに
basic_string<char>
ってするだけで
basic_string<char, std::char_traits<char> >
ってするのと一緒になるという手抜きができますよってこと?

895 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 23:59:19 ]
そう

896 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:05:08 ]
basic_ofstreamを拡張して
EUC出力したいのですけど何か参考になる
URLとかないでしょうか?

897 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:13:15 ]
http://

898 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:23:06 ]
つ[www.google.co.jp/]

899 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 00:28:17 ]
>>896
コード変換はストリームの管轄ではない。>>879-886
でも、basic_ostream<char>だとcodecvtは使われないのか?

locale関係に挫折したら、邪道だけどストリームバッファを
作成して書き込み前の瀬戸際で変換をかけるという手もあると思う。

900 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 10:26:32 ]
unsigned char --> charの変換だけが欲しいのに
なんでここまで大がかりになるのかよーわからん。

C++の言語設計ポリシーがきもいのが原因なんだろうけどさー



901 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 11:52:33 ]
【自己責任で】あっさり変換しちゃえ。
究極的にそれができるから、C/C++が好きだ

美しくスマートに書くのは確かにめんどいが

902 名前:!omikuji mailto:sage [2007/09/01(土) 12:47:39 ]


903 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 14:51:04 ]
興味本位でModern買って、今日届いたけど難しいんだよな?
もっと勉強してから読むか


904 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 15:06:26 ]
第三章を読んで(いい意味で)爆笑するといいよ

905 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 16:33:13 ]
ttp://www.scl.kyoto-u.ac.jp/scl/appli/appli_manual/SUNWspro/WS6U2/ja/manuals/stdlib/user_guide/loc_io/19_4.htm
に、JIS<->Unicodeのcodecvtファセット実装例が載っているんだが、
mbstate_tを使わない場合(この実装例では使ってない。つか、mbstate_tなんて
処理系毎の実装詳細に属する代物だから、事実上使えないだろう)、
結局独自のストリーム型を定義するハメになるようだな。
無論wcout等の既存のストリームをimbue()することなんて出来やしない。
これじゃわざわざcodecvtとしてコード変換層を実装する意味はありはしない。

無駄とも思える複雑さを導入していながらこのていたらく。
C++のlocale, streamまわりの設計は本当に糞だな(実装の質も糞だが)。

906 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 18:38:25 ]
クラスのメンバにfstreamを持たせるのってよくない?
コピーコンストラクタをちゃんと書いてないとコピーできないよね。
なんかもっといい方法ってあるんだろうか。。

907 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 22:00:09 ]
fstream を局所的に使う設計に変更するとか

908 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 22:58:17 ]
refcount付きのfstream*入りクラスつくってメンバにいれるとか

909 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 22:59:49 ]
unicode_iteratorの最強さは異常
組み込みでも使えるな

910 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:52:58 ]
memcpy.asmというファイルでエラーが出て困っています
これはどういう時に呼び出される命令なんでしょうか?



911 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 01:56:59 ]
>>910 memcpy() したときだろ。

912 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:08:48 ]
memcpy使ってないときにも落ちちゃうんですが
別の関数とかクラスが内部で使ってる場合もあるんですかね?

913 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:13:57 ]
ああ

914 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:14:39 ]
>912
そりゃ、メモリコピーなんて非常に基本的な機能だからいろんなところで使われてるだろう。

915 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:15:58 ]
てかダメだろう落としてちゃ。もうプログラムングやめた方がいいんじゃねぇの

916 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:17:41 ]
じゃあ原因の特定はむずかしいですね
どうしよう

917 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:18:06 ]
デバッガでコールスタック見ればいいんじゃない

918 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 02:30:05 ]
>>917
今やってみたら原因がわかった気がします
ありがとうございました

919 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 04:18:43 ]
基本的な質問ですみません
VC++6でwindows コンソールアプリを作っていますが
たとえば

int nA;

nA = 0;
while(1){
print("count=%d",nA++);
Sleep(500);
}

でカウンタ値を表示しますが
マウスをコンソールにあわせると、タイトルバーに「選択」とでて処理が止まってしまいます
これをやめさせるにはどーしたらよいでしょう?




920 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 04:28:44 ]
>>919
コンソールウィンドウの「簡易編集モード」をオフにするとか。
あれ?マウスカーソル持って行っただけで選択になったっけ?



921 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 04:30:26 ]
VCで/clrを付けると、GC(gcnew)が使えるようですが、これは.NETと関係あるんですか?

922 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 04:48:44 ]
>>920
マウスを持っていって置くだけでなります

923 名前:919 mailto:sage [2007/09/02(日) 04:54:02 ]
>>920
ありがとうございます
「簡易編集モード」でぐぐったら、プロパティで変えられるんですね
変えたらならなくなりましたが
このウィンドウだけ、プログラム上から変える方法はあるんでしょうか?

924 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 05:16:22 ]
>>923
さぁね。あとはこっち↓行けば?

Win32API質問箱 Build56
pc11.2ch.net/test/read.cgi/tech/1186989201/

925 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 07:33:16 ]
レジストリ書き換えれば(ry

926 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 07:58:40 ]
>>921
コンパイラは基本的に.NETの中間言語 (CIL)を吐き(一部生の機械語もあり)、
実行には.NET Frameworkなどが必要になる。

所定の構文に従って書けば、C#など.NET言語で使えるクラスも書けるし、
参照設定すれば.NETのライブラリだって使えるしで、
お得なようで、ネイティブと.NET両方の苦悩を抱え込んで面倒くささも倍増。
それが/clrオプションで使えるC++/CLI。

C++/CLI について語ろうぜ Part2
pc11.2ch.net/test/read.cgi/tech/1142147319/l50

927 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 10:47:36 ]
>>922
「置く」なんてオレ語を使うからややこしくなる。
クリックしているんじゃないの?
クリックすることを「置く」なんて言っても通じないよ。

928 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 10:57:46 ]
クリックのことを押すと言うのはよくやる。

929 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 11:00:04 ]
押すじゃなくて置く

930 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 11:06:05 ]
持っていく→アクティブ/非アクティブ関係なく窓の上
置く→アクティブで窓の上
で、アクティブにするのにクリックしたんだと思ったが違うのか



931 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 11:15:04 ]
よし引っ張れ!
それだ

932 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 11:17:56 ]
クリックしたんじゃねぇか

933 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 11:34:08 ]
ダブルクリック→つっつく

934 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 12:42:48 ]
ドラッグ→ひっぱる

935 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 12:46:11 ]
最小化→消す

936 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 12:47:15 ]
プー吹いた

937 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 19:08:55 ]
CかC++にはinterfaceっていう予約語があるんですか?DirectX関係のソースに使われてました。
大文字でもなくマクロではないと思うし、処理系の拡張なら__interfaceという感じになってそうですし、
VC++だと色が変わるので、予約語だと思ったんですが。
でもWikipediaとかの予約語一覧にも載ってない…

938 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 19:17:37 ]
C#じゃね?

939 名前:デフォルトの名無しさん [2007/09/02(日) 19:20:41 ]
ねーよ

940 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 19:23:32 ]
virtual



941 名前:デフォルトの名無しさん [2007/09/02(日) 19:25:45 ]
struct

942 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 19:27:14 ]
import

943 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 19:28:41 ]
extern

944 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 19:29:39 ]
null

945 名前:デフォルトの名無しさん [2007/09/02(日) 19:30:43 ]
po

946 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 19:39:52 ]
inter

947 名前:デフォルトの名無しさん [2007/09/02(日) 19:41:16 ]
>>941
"interface" という語は C++ の予約語ではなく、
該当する COM ヘッダーの中で "struct" として #defined されます
(C++ では、構造体が標準でプライベートではなくパブリックの継承とアクセスを使用することを除けば、クラスと構造体は同じであることを思い出してください)。

msdn.microsoft.com/library/ja/jpdnguion/htm/msdn_drguion020298.asp

948 名前:デフォルトの名無しさん mailto:947 [2007/09/02(日) 19:43:53 ]
>>937>>947

949 名前:デフォルトの名無しさん [2007/09/02(日) 19:52:22 ]
陸上では日本人では全く勝負にならんが、コンピュータでもそうなんですかね?
Code Projectなんかがヘビーなコンポーネントを公開しているのはほとんど海外組み


950 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 20:30:52 ]
ICFPの上位にgoogleのチームに混じって日本人が入っていたりするよ



951 名前:デフォルトの名無しさん [2007/09/02(日) 21:52:22 ]
すみません
C言語でtelnetした後に続けてサーバーに出力を自動で送信する方法はありませんか?

エミュレータと通信してましてエミュレータと接続した後に
エミュレータ上のモニターに対してコマンドを送りたいです

具体的には
system("telnet 127.0.0.1 5556");
した後にqというコマンドをエミュレータのモニターに送りたいのですが
スレッドが一つだと処理がtelnetから動かず
スレッドを二つにして
system("q");
と入力を行うとエミュレータでなくDOS上でqが行われるようでうまく動きません

952 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 21:58:19 ]
>>951
っ popen

953 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 21:58:30 ]
OSを書け

954 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 22:01:30 ]
>>951
そういう場合はexpectを使え、ということになっている

955 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 22:12:00 ]
一瞬>>953が煽りに見えたが、そうだ、ターゲットOSを書け

956 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 22:12:29 ]
みんな詳しいな
おれなんて文法理解するだけで精一杯だよ

957 名前:デフォルトの名無しさん [2007/09/02(日) 22:15:50 ]
やりたい事があったら文法なんて関係ないさ。

958 名前:デフォルトの名無しさん [2007/09/02(日) 22:16:34 ]
説明不足すみませんでした

OSはWinXP
エミュレータはQEMU
エミュレータ上のOSはDebian
Cの開発環境はVisualStdioを使っています

そしてWinXP上のC言語とQEMUで通信しております

959 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 22:17:24 ]
>>956
・簡単なアプリを作る→その肉付けをしていき内容を濃くする
・簡単なアプリを作る→簡単なアプリを作る
・高度なアプリを作る→半年後見直すと自分で組んだプログラムが恥ずかしく感じ組みなおす
・高度なアプリを作る→挫折する

これらを繰り返していくうちに身に付くから、今できることをやるだけで色んな知識を覚えていくよ


960 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 22:36:39 ]
>>957
>>959
もともと発想力がないからか、自分で課題が思い浮かばないけど
とりあえず持ってる参考書は全て読んで、サンプルだけでも動かして
ちょこっと変更したりすることをしばらく続けて見ようと思う
いまはイテレーターアダプタと格闘中。



961 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 22:43:14 ]
>>951 >>958
多分勘違いしてはる
system()はコマンドを実行するようなモノであって、
線路(パイプ、FILE*など含む)に送信する働きはない


試作では、send(),recv()かなんかを使うことになるのでは
そっからはやり方はいろいろあるけど、自力で見出していくのでは

962 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 22:46:05 ]
>>951
例えばTeraTermを使っていいなら、自動運転用マクロ言語内蔵だから接続先からの特定のキーワードを待って
それに対して一定の反応を返すことくらいちょちょいのぱーだよ。

963 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:05:08 ]
>>951
ソケット開いてtelnet話せばいいだけだろ
なんでそんな単純な事も解からないんだ
氏ねよw

964 名前:デフォルトの名無しさん [2007/09/02(日) 23:08:25 ]
>>960
サンプルだけ動かして
「俺、C++できるよ」

なんて言ってるような奴にはならないでね


965 名前:デフォルトの名無しさん [2007/09/02(日) 23:10:29 ]
>961
system関数は使えないんですね・・・
recv()考えて見ます

>962
それはちょっと使えそうにないので他の手を考えてみます

966 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:11:21 ]
>>964
まだ初期段階だから先は長いと思ってる
まあ仕事でC++使えば一気に向上するとは思うけど

967 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:12:27 ]
>>965
詳細はよくわからんが、connectしてデータをsendすればいいだけではないの??


968 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:26:00 ]
telnet特有のネゴシエーションとか、ログイン処理とか
URGデータの処理とか考えなけりゃね。

969 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:28:07 ]
>>968
そうかログイン処理が必要だな
こりゃ失礼

970 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:34:45 ]
今時telnetってとこには突っ込まんが
せめてライブラリ使うかexpectに汁っての

下らない仕事のためにtelnetを喋るTCPクライアントをわざわざ手書きするなんて
ナンセンス極まりない



971 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:46:27 ]
思うに、telnetで接続して、"q\n"かなんか、何か簡単にシグナルしたかったんだろう
そのくらいの軽務なら、connect(), recv()でいいんじゃないかと思った

CreateThreadはできるけど、system()がわからない。
きっと、IPC(広義の)の初心者さんなんだ ヒントくらいでいいんじゃまいかとw

972 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:54:37 ]
telnetぐらい3日でかけるだろ
どうせ暇なニート学生だろ?



973 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 23:59:55 ]
ニート学生って言語矛盾じゃないか

974 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:01:34 ]
どうせ学校もろくにいかないで
2chが動画サイトめぐりだろ
身分があるだけでニートとかわらんだろw

975 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:08:38 ]
何がしたいのかは知らないが、
そもそも telnet を使う必要が無いんじゃないか?

976 名前:デフォルトの名無しさん [2007/09/03(月) 00:10:10 ]
Cの基本的な文法については勉強して次は実際にSourceForgeでオープンソースの
プログラムを読もうと思っていたのですが難しすぎて分かりません
みなさんはある程度文法の勉強をしてからどのようにして勉強していきましたか?

977 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:13:36 ]
作りたいものを作る。それが一番。

978 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:15:51 ]
>>976
Cなら簡単に1万行ぐらいまでなら
読めるようになる方法がある。読めない文法だけ
飛ばしてたぶん処理追えるようにはなるとは思う

環境ちょっと限定になるけどな


979 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:16:17 ]
>>976
必要に迫られれば、驚くほどの速度で習得可能

文法の次はアルゴリズムの勉強がお勧め
アルゴリズムに関する説明(自然言語)を元にC言語ソースにする
これが結構難しい

980 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:18:20 ]
読むのと書くのは別の能力。



981 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:20:37 ]
書くスキルあげつつ読みたいなら

モジュールバラしテクニックを身に着けるといいよ。

単純にどこで処理が範囲かわかったら
あとは改造する楽しいよ。



982 名前:デフォルトの名無しさん [2007/09/03(月) 00:25:40 ]
読むと書くのは別の能力だというのは分かりますが
ある程度うまい書き方とか定石なども学びたいと思いまして

今コーディングの本を読んでいるのですがいきなり書いてそれに慣れてしまうと
ものすごい危険なコードを何の意識もなく書いてしまったりしてしまうのかと思いまして

>>979
今読んでいる本が終わったらアルゴリズムの本も読んでみようと思います

983 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:30:13 ]
>>982
最初から完璧なコードが書けるなどと思うな
最初は誰でもつたないんだ
それを気にせずコード書け
書かなきゃいつまでたっても上手くはならん

984 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:33:16 ]
C++だったらそれこそ20冊ぐらい読まないと駄目だからなぁ…
と言っても読みながら書かないと理解できないような内容だから
読もうとしてる内に書く経験も積むことになるが

985 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:34:26 ]
20冊って何の本だよ

986 名前:デフォルトの名無しさん [2007/09/03(月) 00:35:03 ]
>>983
今は本を読んで演習問題などでコードを書いているという状況です

>>984
何かお勧めの本などはありませんか?

987 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:38:12 ]
文法覚えたなら簡単なソフト作ればいいんじゃね?
何でもいいから動くもの作らんと、モチベーション維持が大変だ
目標があってC言語勉強したんだろうから、目標までの道のりを
考えて一歩ずつ進むしかないよ。

といいつつも、俺はなんもしてないな。

988 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:41:22 ]
手じかに役に立つ類のちょろっとしたものを書きたいのなら
ぶっちゃけCは向いてないよあまり

989 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:42:45 ]
演習問題を一通りやって何かを作ろうとしてもアイディアが出なければ
大学とか専門学校で出される課題のようなプログラムを作るといいよ
ここには宿題スレもある事だし

990 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:44:16 ]
ライブラリとかマクロとか使ってカスタムすればLL言語並の「軽い」C++ができるぜ
ただし作った奴以外には読めない使えない代物になるけど



991 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 00:46:46 ]
>>986
人に薦められた本が君に適している確率はかなり低いよ。
マスターしたけりゃ立ち読みして読みやすいと感じた本を読め。
仮にその本が結局ハズレでも、その次に選ぶ本はより君に適しているはず。

992 名前:デフォルトの名無しさん [2007/09/03(月) 00:52:56 ]
>>987
どうやれば市販のソフトのようなものが作れるかもよく分からない状況で
みなさんvisual studioとか使ってるんですか?

>>991
はいわかりました






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<231KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef