- 1 名前:デフォルトの名無しさん [2008/03/30(日) 01:50:26 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.50【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1204124447/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 175 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 16:37:49 ]
- かわうそうだからもうそっとしといてあげようよ
- 176 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 16:38:03 ]
- この連載、続くのか、打ち切りになるのか・・・
- 177 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 16:39:01 ]
- >>175
バンブーブレードのアニメを思い出したw
- 178 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 16:40:54 ]
- 前橋さんに書いて欲しい
- 179 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 16:41:47 ]
- え、連載なの?
- 180 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 17:10:38 ]
- >>164
スミマセン『記事』でしたね。でもCあまり判らないので。。。
- 181 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 17:11:33 ]
- builder.japan.zdnet.com/sp/c-programming-language/
特集だな。 >>180 それはC言語の問題じゃないだろ。 日本語やり直せ。
- 182 名前:いっそ誰か転載してくれw mailto:sage [2008/04/01(火) 17:26:55 ]
- 問題は件のページだけではない。
こちらのページから引用してみよう。 builder.japan.zdnet.com/sp/c-programming-language/story/0,3800083430,20368158-2,00.htm -- データを区切る文字を空白などではないものにする方法だ。たとえば”%s,%s”とすれば、”abc def,ghi”を”abc def”と”ghi”という2つの値として入力することができる。 -- これも、実験してみれば直ぐに判るが出鱈目である。 一体全体、この特集はどんな技術者を作ろうと言うのだろうかw
- 183 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 17:44:37 ]
- 何の話かと思ったら、scanf()か
- 184 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 17:46:36 ]
- >>182
scanfで入力制限が出来ることを知らなかったorz
- 185 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 18:02:09 ]
- >>184
普通は、scanf()では使いにくいから、入力制限はsscanf()で使うんだけどね。 所謂入門書でその辺りにきちんと触れているものは、知る限りないね。
- 186 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 18:07:30 ]
- >>182 確かに酷いな
- 187 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 18:11:27 ]
- ttp://builder.japan.zdnet.com/rank/
推薦の数が飛び抜けているな
- 188 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 20:53:23 ]
- 件の人の(ttp://builder.japan.zdnet.com/sp/c-programming-language/story/0,3800083430,20366709-2,00.htm)
>また、doubleからはlong double(12バイト分)を派生させることができるが、 >floatではそれができないという違いがある。 ってどういう意味なんでしょうか?
- 189 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 20:58:36 ]
- long float
という型が無い事を言いたかったんじゃね? 日本語でおkな記事だな こんなん初心者に読ませても害にしかならないな
- 190 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:01:05 ]
- おれ、今までlong doubleって10バイトって思ってたよ。
- 191 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:15:41 ]
- >>189 なるほど。
- 192 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:19:08 ]
- long double が 12 バイトの環境は見た事無いなあ。
10 か 16 ならあるが。
- 193 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:22:48 ]
- sizeof(long double)
12bytes gcc (MinGW) 10bytes Borland C++ Compiler
- 194 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:23:28 ]
- 普通の gcc だと 16 だな。
- 195 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:34:38 ]
- 仕方ない、取り敢えず特集の全ての記事にダメ出ししてくるか。
これだけ頓珍漢な記事だらけならパーフェクトも狙えるだろw
- 196 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:36:46 ]
- >>182
これ何か不味いのか?
- 197 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:47:56 ]
- >>196
#include <stdio.h> int main() { char a[10], b[10]; switch(sscanf("abc def,ghi", "%s,%s", a, b)) { case 2: puts("a, bともに読み込めた。"); puts(a);puts(b); break; case 1: puts("aだけ読み込めた。"); puts(a); break; case 0: puts("aもbも読み込めなかった。"); break; case EOF: puts("エラー"); } return 0; } どうなるとおもう?
- 198 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:54:06 ]
- 上と下ではどっちが速いですか?
bool rb = m_map.insert(std::make_pair(key, value)).second; if(rb) { ほげほげ; } if(m_map.insert(std::make_pair(key, value)).second) { ほげほげ; }
- 199 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:55:14 ]
- いっしょだろ。
- 200 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:56:23 ]
- 変数にコピーする分上が遅い。
- 201 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:58:21 ]
- >>197
aだけ成功 スペースの後が終端文字列になってた
- 202 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 21:58:43 ]
- >>200
その程度なら最適化で消えることが期待できる。 >>198 実測重要。
- 203 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:00:30 ]
- 下はスタックポインタの変動が一回多くなるので、極々僅かに遅くなる気も?
- 204 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:00:55 ]
- . 人
( ) , '´ ̄ `ヽ / ( ( 人人) ) 最適化すれば消えるのではないかと |人| V_V|ノ ふじおかが言っている。 ノノ| |o○_⌒_○ ( エ ) . o( )o uu
- 205 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:05:51 ]
- >>193 でもMinGWだとこれが?→ unsigned int 0以上の整数 (0から65535)
- 206 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:15:46 ]
- if(!banana)と、書くのが気持ち悪いのですが、
if(true != banana)と、書くとスピードが落ちますか?
- 207 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:21:01 ]
- if(banana == flase)じゃないのが気持ち悪いな
- 208 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:21:46 ]
- うお 間違えたw
- 209 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:24:30 ]
- >>205
どういう意味でしょう? MinGW でも unsigned int は 0〜4294967295 の範囲です
- 210 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:32:28 ]
- >>206
とりあえず>>207に直したとして、まず変わらん。 むしろ変わる環境があったらちょっと興味がわく。 で、速度は実測が基本。一応ね。
- 211 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:46:02 ]
- trueと比較するのは(速度は兎も角)確実に1ステップ無駄な処理が入る。
- 212 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:47:05 ]
- うそーん
- 213 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:56:11 ]
- >if(!banana)
と、 >if(true != banana) コードの意味合いが異なる
- 214 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 22:58:32 ]
- >>209 >>188の記事からの引用です
- 215 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:05:34 ]
- class hoge
{ hoge(){←エラー rcdefault.top = 0; rcdefault.left = 0; rcdefault.buttom = 480; rcdefault.right = 640; } static const RECT rcdefault; } 性的で固定な構造体の中身はどうやって指定するの?
- 216 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:10:47 ]
- ピコエロス
- 217 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:19:11 ]
- class HOge{
static const A a; }; const RECT HOge::a = {1,2,3,4};
- 218 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:27:05 ]
- ttp://builder.japan.zdnet.com/sp/c-programming-language/story/0,3800083430,20363049,00.htm
-- 本来の名称は1文字のCなのだが、それだけだと分かりにくいからか、一般的にはC言語という。 -- # C言語と表記することが多いと認めるのは吝かではないが、果たして開発現場でC言語と呼ぶ輩はどれほどいるのだろうか。 -- 子孫にあたるプログラム言語には、同じくオブジェクト指向が取り入れられているJavaなどがある。 -- # いつからJavaはCの子孫になったんだ? ttp://builder.japan.zdnet.com/sp/c-programming-language/story/0,3800083430,20363414-2,00.htm -- しかし、前述の通り携帯電話などの機器の動作はC/C++で開発されたプログラムによって行われている。 -- # そうなんですか? 本当に? ttp://builder.japan.zdnet.com/sp/c-programming-language/story/0,3800083430,20366709-2,00.htm -- floatよりもdoubleのほうが扱える数値の範囲が広くなる。そのため、floatよりもdoubleのほうが精密な値を表すことが可能になる。 -- # 「そのため」ではありません。無茶を言わんでください。 ttp://builder.japan.zdnet.com/sp/c-programming-language/story/0,3800083430,20366845-2,00.htm -- printf( "|%5.3f %-9.4f|", 12.34, 56.789 ); /* |12.340 56.7890 | */ -- # わざわざ初心者を混乱させなくてもいいでしょう。素直に%6.3fとしては如何?
- 219 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:36:51 ]
- さすがに重隅ウザイ
- 220 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:37:35 ]
- できました。
- 221 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:40:22 ]
- >>218
ここに書くと筆者が見てくれるの?
- 222 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:43:52 ]
- >>220
who?
- 223 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:46:47 ]
- 規格内に C 言語って記述がいくらでもあるのに・・・。
- 224 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:51:37 ]
- The Programming Language C
- 225 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:54:05 ]
- 今マルチスレッドで裏で画像読み込みとかやってるんですが、
あるスレッドが専用の関数に必要な引数を渡して、要求だけ vectorにキューイングしてで出て行く、そして読み込み用のスレッドがこのvectorから メッセージを取り出して画像読み込み操作を行うという形なんですが なんかどこかで衝突?みたいなことが起こってるみたいで成功したり失敗したりです。。。 メッセージは追加時push_backで取り出し時begin()使ってます。 Javaのsynchronizedみたいに排他にするにはどうすればいいんでしょうか?
- 226 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:56:50 ]
- >>225
STLはひどい事にマルチスレッドに対応してない実装をコンパイラ製作側が提供しても良い仕様になってるので、 別途マルチスレッドに対応したフラグを外側から用意するなど措置をとる必要がある。
- 227 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 23:56:59 ]
- >>225
winならCriticalSectionやMutexとか。 それ以外でもならboost::threadとか。
- 228 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 00:03:51 ]
- STLportを使う
- 229 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:01:26 ]
- 文字列を配列で宣言するのとポインタで宣言するのって何か違いがあるんでしょうか?
やってること同じだと思うんですけど。
- 230 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:10:28 ]
- char a[]="test";とchar *b="test";のことを言ってるなら違いはある。とりあえず配列を使っておけば問題ない。
- 231 名前:デフォルトの名無しさん [2008/04/02(水) 10:10:50 ]
- >>229
> 文字列を配列で宣言するのとポインタで宣言するのって何か違いがあるんでしょうか? > やってること同じだと思うんですけど。 その通りやってることは同じなので、好きな方でどうぞ。
- 232 名前:デフォルトの名無しさん [2008/04/02(水) 10:27:44 ]
- はじめまして。
VBを今週から始めた初心者です。 上司に教わりながらやっていますが、全くわかりません。 とりあえず、言われた仕事が モジュール2で Public Sub 関数名() '表を追加します End Sub を作成して、モジュール1でcollで呼び出すらしいんですが 表を追加の関数がわかりません。 誰か教えて下さい。
- 233 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:28:52 ]
- その上司に聞けよ。
というかスレ違いだ。
- 234 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:29:30 ]
- 落ち着け
ここはC/C++スレだ
- 235 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:31:09 ]
- >>230
その違いについて知りたいんですが、、、メモリの問題とかですかね
- 236 名前:デフォルトの名無しさん [2008/04/02(水) 10:33:55 ]
- 232です。
申し訳ないです。 どこに書けばいいのかわからなくて。。。
- 237 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:37:38 ]
- それすら調べられないならマに向いてないから辞めた方が良い
- 238 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:48:57 ]
- >>226,227ありがとうございます。
面白そうなので自分で作ってみることにします。
- 239 名前:デフォルトの名無しさん [2008/04/02(水) 10:49:38 ]
- そうですね。
辞めてしまいたいです。
- 240 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 10:55:29 ]
- >>239
仕事じゃなくて課題なのでは? 未経験でも出来る課題を出されたんじゃないですか? プログラム経験はあるんですか?
- 241 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:10:26 ]
- 本当に初心者なし質問かと思うのですが
ttp://tondol.ty.land.to/event/koushien/2006honsen/08.html のプログラムなんですが、数字を二つ入力するのですが 1 2 という入力ではなく 3 というように数字一つで改行されたらプログラムを終了するようにしたいのですが どのようにすればいいのでしょうか?
- 242 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:12:30 ]
- 文字列で受け取って自分で調べる
- 243 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:52:31 ]
- すいません文字列で受け取るとはどういうことでしょうか?
- 244 名前:238 mailto:sage [2008/04/02(水) 12:03:36 ]
- Mutexで神速でできてしまったんだけど、ミューテックスだとどんな制限があるんでしょうか?
- 245 名前:デフォルトの名無しさん [2008/04/02(水) 12:18:56 ]
- 多重起動防止
- 246 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 12:19:23 ]
- >>244
排他処理を追加した分遅くなる。MutexよりもCriticalSectionセクションのほうが速いので用途に応じて使い分けるとよい。
- 247 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 12:20:21 ]
- ミューテックスを使うと投機実行の処理が多くなったり、より速いアクセス速度のあるキャッシュへのデータ格納最適化ができなかったりする。
- 248 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 13:01:07 ]
- >>236
EXCELにVBAのリファレンスついてないのか? まあ該当スレは検索すればすぐ見つかるだろうけど,質問しても やってトライ.シリーズでいいからEXCEL/VBAの参考書一冊買え みたいな話になるだけですぞ
- 249 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 13:21:53 ]
- >>236
排他制御比較一覧 ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdndllpro/htm/metrsect.asp
- 250 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 13:22:45 ]
- 上の、236じゃなくて>>236へだった
- 251 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 13:23:13 ]
- >>238へ
何度間違ってるんだorz
- 252 名前:238 mailto:sage [2008/04/02(水) 15:33:58 ]
- >>245-247,249-251
ありがとうございます。ほくほくです
- 253 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 20:29:09 ]
- c++ VisualStadio.net
TestProgプロジェクトにあるCTestClassクラスをライブラリにしてMainProjプロジェクトで使おうとしています。 CTestClassクラスが宣言されているTestClass.h、TestClass.cpp、そしてほとんどカラのstdafx.hとstdafx.cppをビルドしてTestProg.libを作成しました。 そしてMainProjプロジェクト内のファイルにて #pragma comment(lib, "TestProg.lib") このようにライブラリの使用を宣言するまでは問題なかった(ビルド成功)のですが、CTestClassを使おうとすると宣言がされていないとエラーが出ます。 ライブラリ内のクラスを使うにはこれらに加えて何かしないといけないのでしょうか? ちなみにMainProjにTestClass.hとTestClass.cppを追加し、上記の#pragmaの代わりに #include "TestClass.h" を入れるとエラーは出ませんでした。
- 254 名前:デフォルトの名無しさん [2008/04/02(水) 20:43:05 ]
- TestClass.hへのパスは通ってますか?
- 255 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 20:55:23 ]
- / / / / / / /
/ / / / / / ,.、 ,.、 / / / / ∠二二、ヽ / / / / / ((´・ω・`)) ちょっと船の様子を見に行ってくる… / ~~:~~~〈 / / / / ノ : _,,..ゝ / / / (,,..,)二i_,∠ / /
- 256 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 21:30:23 ]
- >>253
// MainProjプロジェクトにTestProg.libとTestClass.hコピーして #pragma comment(lib, "TestProg.lib") #include "TestClass.h"
- 257 名前:238 mailto:sage [2008/04/02(水) 21:32:33 ]
- ∧_∧
..( *) ..( )〇 なんだか胸騒ぎがする・・・。
- 258 名前:デフォルトの名無しさん [2008/04/02(水) 21:57:43 ]
- Xcodeで開発しているのですが、
"クラス::関数()", referenced from: とエラーが出ます。 調べてもどういう意味のエラーかも分からずです。 どういう意味のエラーなんでしょうか?
- 259 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 22:12:53 ]
- >>258
エラーメッセージはそれだけじゃないでしょ。前か後にも何か書いてあるはず。
- 260 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 22:14:58 ]
- >>256
ありがとうございます。使えるようになしました。 >>254 それは何度も疑っていたので大丈夫でした。 パスが通っていないとエラーが出ますしlib自体が正常に更新されているかどうかも確認していました。 複数のサブプロジェクトでクラスを作り、メインプロジェクトでこれらをライブラリとして読み込むために試行錯誤していました。 .hと.cppをコピーしてメインプロジェクトに追加するとメインプロジェクトだけで変更が可能なのと ファイル数が膨大になり管理がしにくくなるので改善したいと言うのが主な理由です。 今回の場合ですとMainProjプロジェクトでCTestClassクラスのメンバ変数や関数を自由に追加することが出来てしまったり TestProgプロジェクトでCTestClassクラスを更新するとMainProjプロジェクトのTestProg.libだけでなくTestClass.hの更新も必要になってしまいます。 MainProjプロジェクトのCTestClassクラス自体に変更が加えられないような仕組みや 更新がlibだけで済むような方法は無いものなのでしょうか。
- 261 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 22:31:40 ]
- ヘッダをいじらなくて済むようにするイディオムとしてpimplが有名。
少なくともprivateメンバの変更では共有するヘッダに影響を与えないで済む。
- 262 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 23:05:52 ]
- ある型がクラス/構造体かどうか調べる方法はありますか?
あと、クラスのメンバ関数を列挙する方法はありますか template<typename T> void enum_functions() { if (T::is_class()) { for (int i = 0; i < T::func_count(); ++i) { std::cout << T::func_name(i) << '\n'; } } } みたいな感じで。
- 263 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 23:22:54 ]
- >>231
嘘はいかんよ。 >>235 >char a[]="test";とchar *b="test"; *a='T'; /* OK */ a[0]='w'; /* OK */ // *b='T'; /* NG */ b=a; /* OK */ *b='T'; /* OK */ b[0]='w'; /* OK */ // a=NULL; /* どうだったっけ?*/
- 264 名前:238 mailto:sage [2008/04/02(水) 23:28:59 ]
- >>262
どんな実装だよ。 せめてclass Tにしようぜ
- 265 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 23:30:32 ]
- // *b='T'; /* NG */
*b='T'; /* OK */ どっちだよ
- 266 名前:253,260 mailto:sage [2008/04/02(水) 23:32:01 ]
- >>261
初めて知った単語なので非常に有難いです。 結局クラスをライブラリにするのはcppファイルの中身が見えなくなるだけで(ビルドが早くなったりもしますが) いかにヘッダ部分をcppに移せるかで使用先(メインプロジェクト)での可変性が変わると言うことでしょうか。
- 267 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 23:34:28 ]
- >>262
思い描いている形とは違うかもしれないけど、 BoostまたはTR1にType Traitsに、is_classというものがある。 かなりコンパイラを選ぶだろうけど。 さすがにメンバの列挙はない。
- 268 名前:デフォルトの名無しさん [2008/04/02(水) 23:35:43 ]
- >>259
すいません。 "クラスA::関数()",referenced from: クラスB::関数() in クラスB.o symbol(s) not found collect2:ld returned 1 exit status とあります。
- 269 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 23:40:16 ]
- >>265
// *b='T'; /* NG */ b=a; *b='T'; /* OK */ 分かりにくくてスマソ
- 270 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 00:43:38 ]
- >>268
クラスB.o の中に入っている クラスB::関数() から参照されている "ク ラスA::関数()" というシンボルが見付かりません、 とリンカー様(ld)が怒ってらっしゃる。 つまり、クラスA::関数() をコンパイルした .o ファイルやそれが入っ ているライブラリをコマンドラインに指定する必要がある。
- 271 名前:デフォルトの名無しさん [2008/04/03(木) 04:53:36 ]
- 文字コードの問題です。
wchar_t buff[3]; とあって SHIFT-JISで書かれたテキストから、fgetwsで読み込む事で 例えば、 「もじ」 ならば buff[0]<=も buff[1]<=じ と、入る事を望みます。 このような処理をする場合、どのようにすればいいのでしょうか? ちなみに、fgetwsで読むと、buff[0]とbuffr[1]で"も"が入ってしまいます。 fgetwsはsjisで書かれたテキストを自動で変換して読み込んでくれると聞いたのですが・・・。
- 272 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 05:00:49 ]
- あ、一応自己解決しました。
テキストを、UTF16のBOMなしにして setlocale(LC_CTYPE, "");を設定し、バイナリモードで読めばよかったんですね。 出来れば、SJISから変換されるとありがたいんですが・・・。
- 273 名前:デフォルトの名無しさん [2008/04/03(木) 08:16:33 ]
- std::vector<int> vec;
という変数があるとして、 for (int i = 0; i < vec.size(); i++) {.....} とか書くとintとunsigned intを比較してるという警告がでて嫌なのでstatic_cast<int>(vec.size()) とかやってるのですが、これもいやです。どうすればいいですか?
- 274 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 08:28:55 ]
- 1.iをstd::vector<int>::size_typeにする。
2.iteratorを使う。 3.STLのアルゴリズムを使う。
- 275 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 08:43:33 ]
- >>273
4.iをunsignedにする。
|

|