★初心者にVisual C++ ..
13:デフォルトの名無しさん
08/10/31 19:20:22
なるほど、普通は関数を出たら消滅するとして、たとえば1秒間に何百回も関数が呼ばれる場合、
何度も同じオブジェクトを繰り返し作るのは速度的な問題以外に何かまずいことはありますか?
14:デフォルトの名無しさん
08/10/31 22:14:57
ダイアログにエクスプローラのように、ファイルを選択していろいろやれるコントロールを追加したいんですが
これはTree Controlで頑張るしかないんですか?
15:デフォルトの名無しさん
08/11/01 01:12:35
>>11
newして作ったのなら開放が必要。auto変数なら無用。
>>13
シングルスレッドに限定すれば速度以外は問題ない。
マルチスレッドの場合に関しては情報不足。
16:デフォルトの名無しさん
08/11/01 09:50:19
Unicode 文字セットを使用して、LPTSTR型の変数の文字列を
コンソール上で出力するにはどうすればよろしいでしょうか?
17:デフォルトの名無しさん
08/11/01 10:08:25
VisualStduio2005EEとVisualStudio2008EEって何が違いますか?
やっとインストール終わったと思ったら20008があると知って変更したほうがいいか調べてます
エディタの使いやすさは変わったでしょうか?
18:デフォルトの名無しさん
08/11/01 10:23:05
>>15
ありがとうございます。メモリが壊れやすくなるからなるべく無駄のないように作るのが普通だとかそういうルールがあるのかとおもいました。
newの意味がやっとわかりました。関数を抜けても消滅させないためにあるんですね。
19:デフォルトの名無しさん
08/11/01 10:32:32
>>16
printfでワイド文字列の書式指定するとか、wprintfみたいなワイド版の関数をつかう。
あとロケールを設定しないと正常に表示されない。
20:デフォルトの名無しさん
08/11/01 10:46:06
Windowsのコマンドプロンプトはchcpでもwcharは表示できないよね
UTF-8なら出来るけど
21:16
08/11/01 10:54:57
>>19
どうもありがとうございました。以下の内容でできました。
setlocale(LC_ALL, "");
printf("%S", LPTSTR);
22:デフォルトの名無しさん
08/11/01 13:26:17
設定に関わらず必ずUnicode文字列と決まってるなら、LPTSTRじゃなくてLPWSTR使っとけ。
23:デフォルトの名無しさん
08/11/01 13:50:40
・Visual C++2008 express
・開発環境・・WindowsForm・windowsXP
プログラムを作ろう!という本を見ながらプログラムを組んでいるんですが、
// dicegame.cpp : メイン プロジェクト ファイルです。
#include "stdafx.h"
#include "Form1.h"
using namespace dicegame;
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
// コントロールが作成される前に、Windows XP ビジュアル効果を有効にします
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
// メイン ウィンドウを作成して、実行します
Application::Run(gcnew Form1());
return 0;
}
この箇所で
1>.\dicegame.cpp(6) : error C2059: 構文エラー : 'namespace'
1>.\dicegame.cpp(6) : error C2238: ';' の前に無効なトークンがあります。
1>.\dicegame.cpp(20) : fatal error C1075: 左側 中かっこ '{' に対応するものが 'c:\documents and settings\user\my documents\visual studio 2008\projects\dicegame\dicegame\Form1.h(4)' で見つかる前に EOF が検出されました。
と言うエラーが出てデザインが表示できないんですが、どなたか原因がわかりますか??
24:デフォルトの名無しさん
08/11/01 14:51:08
>>23
Form1.h側に問題があるんだろ
25:デフォルトの名無しさん
08/11/01 15:00:24
クラスをウィザードで作ったあと、クラスビューを見てもクラスがリストに載ってないんです。
VS2008を再起動して見てみるとリストにあるんですけど、再起動なしで出てくるようにするにはどうすればいいんですか?一度ビルドしてもだめでした。
26:デフォルトの名無しさん
08/11/01 21:55:04
VC++2008EEを使ってCの勉強しようと思ってるですけど
インスコした時の設定のままだとコンパイル等がC++基準になってるじゃないですか
それをC基準にするには設定のコンパイル言語の選択をCにする以外に変えるところはありますか?
あとその設定を既定値にするにはどうしたらいいですか?
よろしくお願いします。
27:デフォルトの名無しさん
08/11/02 03:30:06
拡張子をcにすればc言語、cppにすればC++言語
28:デフォルトの名無しさん
08/11/02 16:57:12
有料版の製品を一切使わずにVC++ 2008 EEを使って
SQL Serverに接続することは可能ですか?
29:デフォルトの名無しさん
08/11/02 20:08:59
可能です。.NET使えば楽だと思う。
VC++ 2008 EEで.NETやるときはC++/CLIという言語で書くことになる。
SQLConnectionで検索してみ。
30:デフォルトの名無しさん
08/11/02 20:33:08
>>29
ありがとうございます。
さっそく検索してみますね。
31:デフォルトの名無しさん
08/11/03 15:28:47
現在Visual C++でゲームを製作していて
URLリンク(homepage2.nifty.com)
を参考にしてアクションゲームを作っているのですが
// マップの描画
{
int i, j ;
for( i = 0 ; i < MAP_HEIGHT ; i ++ )
{
for( j = 0 ; j < MAP_WIDTH ; j ++ )
{
// 1は当たり判定チップを表しているので1のところだけ描画
if( MapData[i][j] == 1 )
{
DrawBox( j * CHIP_SIZE, i * CHIP_SIZE,
j * CHIP_SIZE + CHIP_SIZE, i * CHIP_SIZE + CHIP_SIZE,
GetColor( 255, 255, 255 ), TRUE ) ;
}
}
}
}
// キャラクタの描画
DrawBox( ( int )( PlX - CHAR_SIZE * 0.5F ), ( int )( PlY - CHAR_SIZE * 0.5F ),
( int )( PlX + CHAR_SIZE * 0.5F ) + 1, ( int )( PlY + CHAR_SIZE * 0.5F ) + 1,
GetColor( 255, 0, 0 ), TRUE ) ;
のところを自分で書いた画像に置き換えようとしているのですが、なかなかうまくいきません・・・。
どのようにすればいいのか教えてもらえないでしょうか?
32:デフォルトの名無しさん
08/11/03 21:11:35
状況を「うまくいかない」としか言わない奴には教えない事にしてる。
33:デフォルトの名無しさん
08/11/03 22:45:25
えらそうに
34:デフォルトの名無しさん
08/11/03 22:48:14
いや実際教えようがないだろ。32とは別人だが。
35:31
08/11/03 22:59:47
loadgraphなどを使って画像は表示されるのですが、表示されるだけで動かなかったり。
どうしてもキャラクタの描写を自分の書いた画像に置き換えることができない状態です・・・。
36:デフォルトの名無しさん
08/11/04 09:47:10
お客様にエスパーさんはいらっしゃいますか
37:デフォルトの名無しさん
08/11/04 09:59:15
その動かないコードをなんで書かないんだよ。
間違ってるところも指摘できないじゃないか。
38:デフォルトの名無しさん
08/11/04 10:17:24
知ってることを教えるのとソリューションを提供するのとは別なんだとつくづく
39:デフォルトの名無しさん
08/11/04 11:06:58
DrawBoxやloadgraphなんて聞いたこともない
40:デフォルトの名無しさん
08/11/04 13:38:47
URLにDxLibってあるから想像はつくが>>31
loadgraphが全部小文字なのはおかしいな
41:デフォルトの名無しさん
08/11/04 13:41:54
つーか、普通に貼ったURLのとこちょっと見ただけで普通に画像に差し替えられるが
どこが引っ掛かってるのだろうか。一応絵は出るらしいからパス設定じゃなさそうだし。
42:デフォルトの名無しさん
08/11/04 20:33:37
質問です。
PC初期化したのでVC++を再インスコしたんですが
プログラム書いてもビルドできません。
2〜3秒フリーズして「応答なし」
となってしまいます。
これはスペックの問題なんですかね?
OS vista
CPU celeron M
メモリ 2G
のノートPCです。
43:デフォルトの名無しさん
08/11/04 20:39:57
XPでカーソルを変更するにはどうすればいいんですか?
HCURSOR hCursor;
hCursor = AfxGetApp()->LoadCursor(IDC_WAIT);
SetCursor( hCursor );
hCursorがNULLになるんです
44:デフォルトの名無しさん
08/11/04 23:01:29
MSDNライブラリくらい調べてから質問しろよ
45:デフォルトの名無しさん
08/11/05 01:05:52
複数イベントから同一のデータを更新したい場合
たとえばグローバル変数を使って
// グローバル変数
int g_count;
// ボタン1押下時処理
void OnButton1()
{
g_count++;
}
// ボタン2押下時処理
void OnButton2()
{
g_count++;
}
のようにやることができますが、
同様のことをグローバル変数を使わずにやる方法はないでしょうか?
46:デフォルトの名無しさん
08/11/05 01:09:44
あります
47:デフォルトの名無しさん
08/11/05 02:47:47
ダイアログウィンドウで配置しないでクリエイトで作ったCButtonのキャプションのフォントサイズを変更するにはどうすればいいんですか?
48:デフォルトの名無しさん
08/11/05 09:38:48
>>47
言語とか環境は何?
まあWM_SETFONTで。
49:デフォルトの名無しさん
08/11/05 09:39:23
おっと、言語はC++か。
50:デフォルトの名無しさん
08/11/05 10:20:33
CButtonならおそらくMFC
51:デフォルトの名無しさん
08/11/05 10:39:42
ああ、そっか
52:デフォルトの名無しさん
08/11/05 15:46:31
で、CFontがスコープ外れて消滅し
フォントが変わりませんと、また質問が来る・・・と
53:デフォルトの名無しさん
08/11/05 21:45:03
フォントの変更できました。ありがとうございました。
54:デフォルトの名無しさん
08/11/05 21:52:45
ボタンが灰色になっていて押せません。
m_Btn1.EnableWindow(TRUE);
でも
m_Btn1.SetCheck(BST_UNCHECKED);
でも出来ません。起動後一瞬黒くなるんですが、すぐ灰色になります。どういうことですか?
55:デフォルトの名無しさん
08/11/05 22:38:10
iostreamはどこからダウンロードすればいいのでしょうか?
あるいはどこのフォルダに格納されているのでしょうか?
iostreamを用いたプログラミングがしたいのですが…
56:デフォルトの名無しさん
08/11/05 22:43:53
C++で#include <iostream>してエラーが出るなら、再インストールでもしておけ。
57:デフォルトの名無しさん
08/11/05 22:44:03
マウスメッセージはポイントにあるコントロールにメッセージが送られるんですか?
コントロールのクラスを作って、その中でメッセージ対応の処理を書く以外で、クラスを作らずに親ウィンドウでメッセージ処理をするにはどうすればいいんですか?
58:デフォルトの名無しさん
08/11/05 22:45:59
>>56
それででますね…
再インストールしたほうがよさそうですね
59:デフォルトの名無しさん
08/11/05 22:54:51
>>56
あ、違います。
#include <iostream>
じゃなくて
#include <unistd.h>がエラー出てました
unistd.hというヘッダファイルはどうやって登録すればいいんでしょうか?
unistd.hというファイルをどこからかダウンロードして#include ""の絶対パスで指定するんですか?
60:デフォルトの名無しさん
08/11/05 23:06:59
<unistd.h>はUnix/Linux固有のものがいっぱい詰まったヘッダ。
Windowsでいうとこの<windows.h>みたいなもの。
当然VC++用の<unistd.h>なんてない。
ようするに、VC++でそれをコンパイルさせないといけないのなら、
<unistd.h>なしでコンパイルできるようにすることこそがWindowsへの移植という君の仕事。
趣味ならCygwinでGCCでも使っておけ。
61:デフォルトの名無しさん
08/11/06 06:14:00
>>59
とりあえず、エラーが出た
#include <unistd.h>
をコメント行(//)に変えた状態でコンパイルしてみれば、<unistd.h>内で
宣言・定義された関数や定数のうち、実際にプログラム中で使われている
ものだけが未定義エラー等で出力されると思うので、それらの機能や値の
意味を調べて、Windows APIや、Windowsの定数に置き換えてやればよい。
ソース内で使われている場所は、コンパイルエラーや警告が出た行。
エラーとして出ない関数や定数は、今回のプログラム中では使われて
いないので、放置してよい。
バカ正直にUnix互換のライブラリを用意する必要はない。
62:デフォルトの名無しさん
08/11/06 10:01:10
>>54
状況がわからんけど、ハンドラは書いた?
63:デフォルトの名無しさん
08/11/06 16:01:05
>>62
ハンドラはこれだけではダメなんでしょうか?
ボタンが灰色なだけでなく、メッセージも受け取れません。
ヘルプを見れば全てわかるように書いてあるそうですが、仕組みがわからず読み取ることもできません
おしえてください。お願いします。
//FileView.h
CMFCButton m_Btn;
afx_msg void LButtonDown();
//FileView.ccp
BEGIN_MESSAGE_MAP(CFileView, CDockablePane)
ON_BN_CLICKED(7, LButton)
END_MESSAGE_MAP()
CFileView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
m_Btn.Create(_T("OK"), WS_VISIBLE | WS_CHILD, rectDummy, this, 7)
m_Btn.EnableWindow(TRUE);
}
void CFileView::LButton()
{
TRACE0("OK\n");
}
64:デフォルトの名無しさん
08/11/06 17:20:53
2008SP1のMFCはまだ触ってないからよくわからんが、
せめてIDは、、リソースをアクティブにした状態で編集メニューから
リソースシンボル→新規作成で作ってそれ使ったほうがいいぞ・・
今までのViewにそのやり方でボタン貼り付けたら機能するから
CDockablePaneの仕様によるのかもね。
65:デフォルトの名無しさん
08/11/06 17:43:29
2008では、CDockablePaneなんて追加されたのか。
CSplitterWndクラスで作成する分割ウィンドウみたいなやつなら、ペイン
自体はCFrameWndみたいな枠だけじゃないのかな?
何がやりたいのか判らんが、CReBarとCDialogBarとかを使う方が簡単じゃ
ないのかな?
慣れていれば、シンボルはresource.hを直接編集してもいいと思うけど、
とりあえずマジックナンバーはやめようよ。
VC6ではできたのに、2003以降、IDE内で開いているプロジェクトのリソ
ースペインに、他のリソースを開いてドラッグ&ドロップでコピーしたり、
カット(CTRL-X)⇒ペースト(CTRL-V)できないけど、2008って直ってるの
かな? リソース編集しててると、突然IDEが落ちるなんてこともある。
66:デフォルトの名無しさん
08/11/06 18:35:38
ありがとうございます。普通はこのやり方で合ってるというのがわかってよかったです。
ボタンではなくてドックパネルを徹底的に調べてみます。
他のコントロールは継承クラスを作ってそこでメッセージ処理をしていたのですが、
さすがにボタン1つのメッセージ処理のためにクラス作成は酷いんじゃないかと思い、、、が、うまくいかずはまりこんでしまいました。
マジックナンバーはアプリウィザードで作られたひな形がCreateのなかで連番を使っていたので
そのまま続きの数字を使って追加してしまいました。いつかはIDSの登録物と重なるし、オブジェクトが判別しづらいのでは?とは思ったのですが
全て修正しないと気持ちよくないし、ひな形の流れに負けて連番にしてしまいました。
67:デフォルトの名無しさん
08/11/07 00:00:29
子ウィンドウから親ウィンドウで作ったオブジェクトのメンバ関数にアクセスするにはどうすればいいんですか?
68:デフォルトの名無しさん
08/11/07 02:44:59
解決しました
69:デフォルトの名無しさん
08/11/07 13:01:28
プリコンパイル済みファイルの名前のStdAfxってどういう意味をもっているんでしょう?
変更することもできるけれど、気にせずにそのまま使うのが普通なんでしょうか。
70:デフォルトの名無しさん
08/11/07 20:45:09
俺が前にここで聞いた時にはStandard Application Frameworksの略だって聞いた。
71:デフォルトの名無しさん
08/11/08 02:29:25
すみませぬ、質問させて下さい。
VC++2008で簡単なコンソールアプリを作ってみたのですが、
これをビルドして他人に渡してもエラーが出て実行できません。
他人のWindows環境で動作させるにはどのようにビルドすればよいのでしょうか?
72:デフォルトの名無しさん
08/11/08 03:38:22
自己解決しやした。
73:デフォルトの名無しさん
08/11/08 04:42:30
さっぱりわからんので教えてください。
VC++2008ExpressEditionで、Formでプログラムを作り始めて、
スクロールバーを縦横で表示・非表示を切り替えたい時、
ツールからフォームに貼り付けるとこうなります。
↑
← →↓
のように右下に小さい四角が出来ません。
↑
↓
← →□
こんな風にしたい
上手いことスクロールバーを表示するにはどこをいじればよいでしょう?
74:デフォルトの名無しさん
08/11/08 18:01:28
貼り付けるんじゃなくて、Formが
内蔵しているメンバを弄るの。
this->HorizontalScroll->Visible = true;
this->VerticalScroll->Visible = true;
とか何とか
75:デフォルトの名無しさん
08/11/08 23:48:18
お手数ですが質問させてください。
SystemTimeToVariantTime
関数をを使いたいのですが、使用すると以下のエラーが発生します
error LNK2001: 外部シンボル ""extern "C" int __stdcall SystemTimeToVariantTime(struct _SYSTEMTIME *,double *)" (?SystemTimeToVariantTime@@$$J18YGHPAU_SYSTEMTIME@@PAN@Z)" は未解決
です。
調べたところ、SystemTimeToVariantTimeを使うにはole32aut.lib
が必要そうなのですが、どうやって ole32aut.lib を手に入れればよいか
わかりません。(そもそもole32aut.libがないのかエラーの原因
なのかも微妙なのですが)
環境は Visual C++ 2005 Express です。
76:デフォルトの名無しさん
08/11/08 23:51:39
>>75
Windows SDKをインストールしろ。
インストールしたら、スタートメニューのMicrosoft Windows SDKの中のどっかにVisual Studioとの統合みたいな項目があるからそれを叩け。
77:75
08/11/09 00:16:12
ありがとうございます。試してみます。
78:デフォルトの名無しさん
08/11/09 06:00:14
ウィンドウに、ダイアログリソースを張り付ける手順は
・ダイアログリソースを作成
・スタイルを子に設定
・ウィンドウのOnCreate関数に
CDialog m_Dialog1;
m_Dialog1.Create(IDD_DIALOG1, this);
と
CRect rectClient;
GetClientRect(rectClient);
m_Dialog1.SetWindowPos(NULL, rectClient.left + 1, rectClient.top + 1, rectClient.Width() - 2, rectClient.Height() - 2, SWP_NOACTIVATE | SWP_NOZORDER);
を追加
これ以外になにをすればいいんですか?
これでコンパイルできるのですが、向こう側が透けて見えてダイアログが表示されないんです。教えてください。お願いします
79:デフォルトの名無しさん
08/11/09 09:10:18
URLリンク(msdn.microsoft.com)(VS.80).aspx
MFC ライブラリ リファレンス
CDialog::Create
リソースからダイアログ ボックス テンプレートを使ってモードレス ダイアログ ボックスを作成します。
親ウィンドウを作成したときにダイアログ ボックスを表示する場合は、
ダイアログ ボックス テンプレートで WS_VISIBLE スタイルを使用します。
それ以外の場合は、ShowWindow 関数を呼び出す必要があります。
80:デフォルトの名無しさん
08/11/09 09:49:37
>>79
できました。ありがとうございました!
81:73
08/11/09 14:44:41
>>74
明日早速やってみます!
82:デフォルトの名無しさん
08/11/09 20:09:18
いままでVC毛嫌いしててBCC使ってたけど、VCなかなか便利じゃないか
引数の型とかを教えてくれるのが感動した
83:デフォルトの名無しさん
08/11/11 07:41:54
すいません、自分のIPアドレスを変更するにはどうしたらいいのでしょうか。
確保するのはすぐに判ったのですが、変更方法がさっぱりです。
84:デフォルトの名無しさん
08/11/11 08:00:29
ダイアログ画面の中のコントロールをすべて再描画するにはどうすればいいんですか?
85:デフォルトの名無しさん
08/11/11 11:39:36
VC++をこれから始めようとしているものです解説書見ながらサイコロゲームを作っているところです
VC++2008WindowsXP
実は他の方のサンプルを試してみたいのですが
サンプルの使い方もわかりません
手持ちの解説書にはそういうことは書いてありませんのでどなたかお力貸してください
下記は先人の方が質問されて、大先輩の方がサンプル付きで解答されています
上のアドレスが最初の質問で下のアドレスが2回目の質問のようです
最終的にはサンプルの全角空白(書いた方がわざとそうしています)を半角空白にして
SendInput()関数を入れると問題なく動いているようです
質問「キーの自動入力」
URLリンク(okwave.jp)
URLリンク(soudan1.biglobe.ne.jp)
質問者の方と私は環境が似ているので
このサンプルを動かしてみたいのですが
VC++の開き方すらよくわからない状態ですので
どなたかわかるように説明していただけないでしょうか?
私がやったこと
サンプルの全角空白を半角空白に8箇所直した
VC++2008を起動する→ファイル→新規作成→プロジェクト→Win32→
Win32プロジェクト→プロジェクト名入力→OK
(Win32アプリケーションウィザード)次へ→何も変更しないで完了
出てきた”(グローバルスコープ)”というソースコードのページの
どこに上記のサンプルを貼り付ければいいでしょうか?
”// TODO: ここにコードを挿入してください。”の部分へ貼り付けたり
・このときエラーはいっぱい出ました
わからないので全てを削除して貼り付けてみたりしましたがビルドできません
・この時のエラーは下記の1つでした
fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "stdafx.h"' をソースに追加しましたか?
VC++2008の開き方、サンプルの張り方教えてくださいm( _ _ )m
86:デフォルトの名無しさん
08/11/11 11:50:54
どの部分が抜粋でどの部分が関数丸ごとかわかるようになるまで
もっと初歩的なことやったほうがいいと思うよ。
87:デフォルトの名無しさん
08/11/11 11:53:48
>>86さん
そこをなんとか教えていただけないでしょうか?
よろしくお願いします
取りあえずサンプルの全角空白を半角空白に直した後どうすればよいのか教えてください
お願いします
88:デフォルトの名無しさん
08/11/11 12:00:55
VOID setKeybrd( LPINPUT lpKey, WORD wVKey, BOOL bKeyDown )
{
・
・
}
これが関数だよ。
適当に最後にでも置いて、
VOID setKeybrd( LPINPUT lpKey, WORD wVKey, BOOL bKeyDown );
の1行を先頭のほうの
// このコード モジュールに含まれる関数の宣言を転送します:
のあたりにでも置いておく。
INPUT Key[ 2 ];
・
・
・
if ( SendInput((UINT)(lpKey - Key),Key,sizeof(INPUT)) == (UINT)(lpKey - Key) ){
//”S”を押すと実行する既存のプログラム
}
これが本体だ。
自分が使いたいとこに置けばいい。
この使いたいところ、ができないうちは何もできんからあきらめろ。
{} でくくって case IDM_ABOUT: の次あたりに放り込んでもいいけどな。
89:デフォルトの名無しさん
08/11/11 12:10:40
>>88さん
マジでありがとう(;´д⊂ヽ
どうしていいのかわかんなくて困ってたんです
使いたいところってのはまだ(ソースコード作って)ないんです
取りあえずこのサンプルだけで自分の環境でも動かせないのか知りたかったんです
詳しく本当にありがとうございました
助かりました心から感謝してます
ありがとうございましたm( _ _ )m
90:デフォルトの名無しさん
08/11/11 16:54:06
お世話になります
VC++とC++の違い教えてください
C++のサンプルコードはVC++でコンパイルできますか?
先ほど1時間かけてこの地方で一番大きな本屋さんへ行って解説本を2冊購入したのですが
なんと!
帰りの電車の中で気づいたのですが1冊はVC++ではなくC++用だったんですorz
まだレシート持ってるから電話して交換してもらった方がいい?
自分としては応用できそうならこのままこの本で勉強したいです
その本は「○○の絵本」シリーズでちょっと有名な本です
挫折はしましたがJAVAやPHPの時も購入して良本というイメージがあったんです
それで「VisualC++500の極意」と「C++の絵本」を持ってレジに行って買ったんです
内容的にはCを知っている方にC++とはこういうものですって感じです
私はCを習得したわけじゃないですけど
なんとなくわかります
Cで使ったPrintfのソースをそのまま使えるけどエラーが出ます、それは戻り値がないからで
そのままでも問題はありませんが気になるのならmainの前に型intを付けて最後にリザルト0をつければいい
こんな感じでわかりやすいんです
私が実際に使っていこうとしてるのはVC++EEなのでC++との違いが気になります
前置き長くなり申し訳ないです
C++のサンプルはVC++で使えますか?
よろしくお願いいたします
91:デフォルトの名無しさん
08/11/11 16:59:22
なんかこの手の質問多いな。
C++は言語の名前、VC++はC++で開発するための製品、の名前。
92:デフォルトの名無しさん
08/11/11 17:03:05
>>91さん
即レスどもありがとです!
ということは問題無しですね
ドキドキしちゃったよ
教えてくれてありがとうですm( _ _ )m
93:デフォルトの名無しさん
08/11/12 14:44:55
話にならん低脳っぷりだな……小学生か。
94:デフォルトの名無しさん
08/11/14 00:54:01
超初心者ならしょうがないでしょ
VC++とC++で迷うのは想定外だったけど
確かに知らなかったら迷うよなーとは思った
95:デフォルトの名無しさん
08/11/14 01:57:51
初心者とか関係ないだろ。
人に聞く前に検索すれば済む話。
96:デフォルトの名無しさん
08/11/14 06:39:48
理解できてる人だけが検索する単語を絞ることができる
97:デフォルトの名無しさん
08/11/14 10:36:02
こんちわ
お世話になります
先輩たちのお陰でなんとかブラウザ作れましたありがとうございます
(実は解説本、そのまんま^^)
これでファイルの読み書きとあわせて2つのことができるようになりましたw
ありがとうです
この先、目標はブラウザで読み込んだテキスト内で文字検索して保存するです
例えばヤフーのトップ画面を見て「年金」や「少年」という文字を検索して
あればその記事を保存するってことをやってみたいです
やりかたとしてテキストファイルに保存しないで
トップ画面をダウンロードしながら検索もする方法を希望です
多分これが一番早い方法だと思うからです
ダウンロード中のヤフートップ画面から文字列検索する方法教えてください
ブラウザを作れたと言っても解説本のまま入力して作っただけなので
私はまだ難しいことは一切わかりません
ヤフートップ画面のテキストを保存する方法もわかりません
どなたか優しく教えてください
お願いします
98:デフォルトの名無しさん
08/11/14 11:06:23
Visual C++ 2005 EEを使っています。
C++の参考書などでは、 new で配列を確保した場合に開放は delete [] で行うとなっていますが
タスクマネージャで使用メモリを調べてみると、delete [] ではなく delete のみの表記でも
同じように開放されているようです。
(MB単位の配列の new と delete を何千何万回繰り返しても、使用メモリが増加していかない)
これは、VC++ではdeleteの配列開放処理についてはコンパイラが
面倒をみてくれるという事でしょうか?
それとも、現在のC++では delete でも delete [] でもどちらでも問題ないのですか?
99:デフォルトの名無しさん
08/11/14 14:21:59
>>98
new[]したなら必ずdelete[]。deleteするのは[]の無いnewしたもの。混同しちゃダメ。
コンストラクタ/デストラクタが無いものだと問題が起きない場合もあるのかもしれないけど。
100:デフォルトの名無しさん
08/11/14 14:44:54
>>99
レスありがとうございます。
なるほど、単純なデータ配列ではなくて、コンストラクタやデストラクタのある
オブジェクト配列だと問題が発生するということですか。
メモリの開放自体がされないわけではなく、そういったオブジェクト内部処理に
問題が発生するという解釈でいいですかね。
単純なデータ配列(int配列のような)の場合に何か問題が起きる事例はありますか?
もちろん本来の記述ルールとして[]を付けるというのはわかってはいますが、
具体的にどういう問題が出るのかというのがいまいち良く分かりません。
101:デフォルトの名無しさん
08/11/14 14:55:23
未定義なんだったらメモリ開放しようが、デストラクタ呼ぼうがVC++の勝手だろ・・・
102:デフォルトの名無しさん
08/11/14 14:58:13
何が未定義
103:デフォルトの名無しさん
08/11/14 15:10:06
いいページがあった
URLリンク(m--takahashi.com)
>多くの処理系では、先頭の一つだけデストラクタが動き、
>そして全部解放されます。
という事らしい
なのでVC++の場合には単純データ配列は全開放されるということね
つけないよりは付けた方が安全ではあるけど
104:デフォルトの名無しさん
08/11/14 15:22:19
なんでこういう方向に行っちゃうのかな・・・。
new[]してdeleteは単純に間違い。
105:デフォルトの名無しさん
08/11/14 15:22:55
でも結構、「配列の最初の1要素しか開放されない」って言い切った説明をしてる奴が多いよな。
未定義のものは未定義でいいけど、間違った説明はいかんよね。
106:デフォルトの名無しさん
08/11/14 15:26:26
>>104
頭固いな
ここはC++のスレじゃなくてVC++のスレだから、
VC++としての挙動についての話をしてるだけだよ
もちろんC++のルールとしては間違いだ
107:デフォルトの名無しさん
08/11/14 15:31:37
MSがドキュメントとして明言してない限り、未定義の動作であることにかわりないんではないだろうか
誰か該当する文書知らない?
108:デフォルトの名無しさん
08/11/14 15:41:47
VC++でのコードでもまず確実に間違い。
VC++がそういう動作をすることを狙ってわざとそんなコードを書いたって、全く利点無し。
109:デフォルトの名無しさん
08/11/14 15:49:53
>>108
あれか、委員長タイプか。ルール絶対主義というか
誰一人正しいか間違いかなんて質問はしてないだろうに
間違った記述をした時にこういう風に動くって事を知っておくだけでも
デバッグする上では役にたつもんだぜ?
110:デフォルトの名無しさん
08/11/14 16:11:33
イインチョタイプワロタw
111:デフォルトの名無しさん
08/11/14 16:26:57
>>105
多いなそういう本やサイト
思い込みだけで書いてるのは本当に困る
112:デフォルトの名無しさん
08/11/14 16:41:25
>>97
まず自分で調べてある程度のコードを書いてから出直してこいよ
113:デフォルトの名無しさん
08/11/14 20:25:13
こんちわ
お世話になります>>97です
何をどう調べればいいのかもわかんないんですよ
作成したブラウザでヤフートップを表示しているので
ヤフートップページのテキストは取り込めているとは思うのですが
どうやって文字を検索するのかわかんないです
すいませんが何を調べればいいのか教えていただけないでしょうか
お願いします
114:デフォルトの名無しさん
08/11/14 20:28:57
そんな手とり足とり教えるには、掲示板という仕組みは非効率すぎる。
115:デフォルトの名無しさん
08/11/14 20:29:24
>>103
ありがとうございます。参考になりました。
やっぱりそういう動きになっているんですね。
116:デフォルトの名無しさん
08/11/14 20:33:40
>>113
さようなら\(^o^)/
あなたのような人はプログラムなんてやめてパソコンを廃棄するのがベストかと
117:デフォルトの名無しさん
08/11/14 20:50:38
なんで?
みんなできないくせに解答してるとか???
118:デフォルトの名無しさん
08/11/14 20:51:40
ヤフートップページを読み込んで任意の文字列を検索して保存する方法教えてください><
119:デフォルトの名無しさん
08/11/14 20:54:19
<a>タグ内の文字列調べて、キーワードが入ってたらそのurlのページをダウンロードして保存すればいい。
HTMLについては勉強した?
120:デフォルトの名無しさん
08/11/14 21:10:33
socketから直に受信データ取ってパーサ作らないと無理だろ・・・IWebBrowserしか知らん俺なんかは
121:デフォルトの名無しさん
08/11/14 21:15:35
>>120
IWebBrowserがあるなら、そこからIHTMLDocument2辺りを取得すれば、
HTML内のJavaScript同様、DOMでぐりぐり探れる。
122:デフォルトの名無しさん
08/11/14 21:36:13
>>119
誰がURLの話なんかしてるんだ?
HTMLから取得ってそのHTMLから取得する方法を聞いてるんだけど
どうやって取ればいいのかわかんない
一応、正規表現とかちょっとくらいはわかるよ
123:デフォルトの名無しさん
08/11/14 21:41:03
トップページのリンクから該当記事をDLするんじゃないのか?
トップページには記事おいてないぞ リンクが貼ってあったとしても
124:デフォルトの名無しさん
08/11/14 22:03:49
だから、そのリンク先は作成したブラウザで見れるんだけど
見るだけで、どうやればここから文字列を取得するのかがわかんないんだ
どこに対してどういう命令出すのかがわかんないんです
125:デフォルトの名無しさん
08/11/14 22:05:23
>>124
>>121
126:デフォルトの名無しさん
08/11/14 22:14:08
この質問者が日本人に思えないのは俺だけですか?
127:デフォルトの名無しさん
08/11/14 23:25:17
>IHTMLDocument2辺りを取得すれば
これわかんないんです
WEBブラウザの命令でそういうのがあるんですか?
WEBブラウザを調べたけどわかりません><
128:デフォルトの名無しさん
08/11/14 23:29:19
検索しろよボケ
一週間はレスすんなゴミクズが
129:デフォルトの名無しさん
08/11/14 23:32:10
ボケとかゴミクズとか何それ
お前どこのがきや
130:デフォルトの名無しさん
08/11/14 23:32:41
>>128
はよ答えろやカス
131:デフォルトの名無しさん
08/11/14 23:34:00
>>128
できないくせに解答者やってる奴ってお前のことかwww
はらいてー
なんでそんなに怒ってるの?
たかが2chでwww
132:デフォルトの名無しさん
08/11/14 23:34:23
>>130
IWebBrowser2のDocumentプロパティ
133:デフォルトの名無しさん
08/11/14 23:35:07
おい>>128
お前は頭わるくは無いと自分では思ってるようだが
要領は最高に悪そうだな
意味もわからんやろなw
134:デフォルトの名無しさん
08/11/14 23:36:41
>>132
それでいけるんですか
ありがとです
とりあえず>>128の小僧はこの先、解答すんなよ
知っててもしゃべらねくていいから
つーかお前出入り禁止
もうくんなカス
135:デフォルトの名無しさん
08/11/14 23:38:05
喧嘩両成敗ってことで>>134も出入り禁止な。そしたらたぶん賛同を得られると思う。
136:デフォルトの名無しさん
08/11/15 01:31:35
単語もでてるのに検索しないでわめき散らすだけか
アホとしか
137:デフォルトの名無しさん
08/11/15 11:35:22
自分で調べようともしない教えて君ってホント痛いな
138:デフォルトの名無しさん
08/11/15 11:51:38
ソースの編集は外部エディタのみで行い、VC++のエディタではread onlyで書き込みできないようにして開きたいんですが
設定で可能ですか?
139:デフォルトの名無しさん
08/11/15 15:49:42
ブラウザがどうたら言ってるのは釣りにしか思えん。
本気だったら病院から書き込んでるに違いない。
140:デフォルトの名無しさん
08/11/15 16:46:39
DQNてのはこんなもんだよ
期待しちゃ駄目
141:デフォルトの名無しさん
08/11/16 14:26:41
まさにこれからVC++2008EEを使ってプログラムを勉強しようとしている初心者です。
お勧めのサイトや書籍がありましたら教えてください。
とりあえずは猫でもわかるプログラミングを見て勉強しようと思ってます。
142:デフォルトの名無しさん
08/11/16 14:28:05
お前の現在のプログラミングに対する理解度による
全くの初心者なら猫でも〜でいいよ
143:141
08/11/16 14:33:16
さっそくありがとうございます。
昔N88BASICとCをちょっとかじりました。
とはいえX6800とかの時代なので、最近のWindowsプログラミングはさっぱりな感じです。
144:デフォルトの名無しさん
08/11/16 20:03:38
>>143
C++を勉強しつつ
Windowsプログラムの作法を勉強しなきゃならん
っていうのが初学者が投げ出してしまうところ
最初は
CとWin32APIっていうのが無難なのかなあ
145:141
08/11/16 21:09:08
>>144
なるほど、とりあずCからやってみているので、ある程度形になったらWin32APIを勉強してみます。
ありがとうございました。
146:デフォルトの名無しさん
08/11/16 23:00:03
EEはリソースエディタが無いのが痛いね
フリーのツールつかえばええやんって言うだろうが
初心者ほどまとまったパッケージがオススメ
つーことでウインドウプログラム作る様になったら
2万円もしないんだしStd買っちゃいな
クラス図も作れるし
147:デフォルトの名無しさん
08/11/16 23:00:19
昔のWin32APIを勉強してた自分を振り返ると、デバッグが上手ければもっと楽に習得できたと思った
VSの呼び出し履歴とか最初全然使ってなかったなぁ( ´ω`)
148:デフォルトの名無しさん
08/11/17 02:23:10
こんちわお世話になります
intについて聞きたいです
整数型の型名にintってありますよね
この型名のintと
関数mainの前に書かれているintは同じなのでしょうか?
私の所有する解説本ではmainについて
int main (void) メイン関数の定義開始
とだけ説明しているだけなのです
意味を並べていくと
int:整数型の型名 main:main関数の定義開始 void:戻り値のない評価式
ってことですよね
なぜmainの前にintを書くのか凄く気になります
勝手に想像しちゃうと
最後に書かれているreturn 0(戻り値が0なら正常終了、それ以外なら異常終了)
このゼロは整数なのでintを記載するのかな?
main関数定義開始の行頭にintはなぜですか?
私の所有する解説本は結局、最後のページまでこのことには触れていませんでした
勝手な推測してしまいましたが
どなたか正しい答え教えてください
149:デフォルトの名無しさん
08/11/17 02:35:43
あなたのもってる解説本が糞だということはわかりました。
150:デフォルトの名無しさん
08/11/17 02:39:05
int main( void )
↑ ↑ ↑
戻り値 関数名 引数
これを見て意味が分からないのであればプログラムはあきらめて下さい。
151:デフォルトの名無しさん
08/11/17 02:55:27
いやいやw、それで諦めるのはまだ早いだろ。
まだ148の読んでいた本がダメすぎただけという可能性が高いということしか分からない。
152:デフォルトの名無しさん
08/11/17 03:15:01
わかった!
>>150さんのでわかったよ
みなさん夜分お疲れのところありがとうございましたm( _ _ )m
153:デフォルトの名無しさん
08/11/17 03:18:47
ていうか
私の推測は当たってたってことですよね
もしかして私はセンスあるのかなwww
154:デフォルトの名無しさん
08/11/17 06:15:26
こんちわお世話になります
有料でも構わないのでC++の質問すれば
私が理解できるまで懇切丁寧に教えてくれるサイトないですか
解説本は解説するために専門用語連発でわかりにくい部分があるんです
その専門用語を解説するページが無いので
結局、解説本→グーグル→解説本→グーグル(たまにIT辞書) こんな感じです
進行するのがかなり時間かかってしまいます
かと言って基礎をすっ飛ばすわけにもいかず
超初心者用とか超入門とか書いてあっても中身は専門用語だらけ
無料の掲示板では解答者の善意で教えてもらってるわけで
解答者もいちいち注釈つけてられないですよね
てことで嘘つき解説本はタイトルに「超入門」とか「超初心者」とか書いてるけど
内容は本当の初心者にでもわかるものはないですね
だいたい解説に注釈無しで専門用語を使うこと自体
初心者には無理。
著者はタイトルに美味しそうな単語並べてとにかく売れる事が優先のものばかり
教えることが大前提の本はないでしょうか
超々ーーーぉ入門者でも理解できるサイト(有料可)か解説本教えてください
155:デフォルトの名無しさん
08/11/17 09:00:29
わかるまで懇切丁寧に教えて欲しいのならば学校に通ってください。
あなたの知能レベルで理解できるかどうかなど他人にわかるものではありませんよ。
156:141
08/11/17 09:35:16
>>146
stdは2005EEからのアップデートが可能みたいですね。
確かにそれなら安いし購入も検討します。
まだリソースエディタがフリーだとどう辛いのかもわかりませんが…
157:デフォルトの名無しさん
08/11/17 23:12:09
リソースエディタだけIDEに統合されてない
フリーソフトを使うってのは辛いって話でそ
158:デフォルトの名無しさん
08/11/18 00:56:24
coutとprintfの違いを教えてください
159:デフォルトの名無しさん
08/11/18 07:46:21
>>158
coutはC++でしか使えない
printfはCでも使える
160:デフォルトの名無しさん
08/11/18 07:51:42
URLリンク(www.asahi-net.or.jp)
こちらのサイトを参考にしてVisual C++ 2005で練習をしているところなのですが
完成したプログラムを「デバッグ開始」で動かそうとすると、
一瞬だけコマンドプロンプトの黒画面が出て、すぐに消えてしまいます
最初のうちは普通に実行され、黒画面が残ったままになったので
設定を間違えて弄ってしまったのかもしれません
原因、元に戻す方法がわかる方はいらっしゃいませんか?
161:デフォルトの名無しさん
08/11/18 09:02:07
リソースエディタなんてフリーで問題ないよ
どの道付属のアイコンエディタは使い物にならんし
162:デフォルトの名無しさん
08/11/18 09:03:33
>>160
最後にgetch()を入れればキーを押すまで画面がとまるよ
163:デフォルトの名無しさん
08/11/18 10:05:38
>>159
了解です
Printfで書くようにします
Cout使わないといけない場合なんかはないですよね
ありがとうございます
164:141
08/11/18 10:18:26
>>157
解説ページなどでResEditやXN Resource Editorでそれほど問題なさそうだったので、
どのようなデメリットがあるのかよくわからないということでした。
わかりにくくてすみません。
とりあえずフリーのものでやってみようかなと思います。
165:デフォルトの名無しさん
08/11/18 16:42:30
>>162
ありがとうございます
でも最後にgetch();を付けるとエラーが…
「デバッグ無しでビルド」を選択したら
とりあえずは消えない様になりました
166:デフォルトの名無しさん
08/11/18 16:44:50
そもそもデバッグしないでいいならCtrl+F5で実行すりゃいい
167:デフォルトの名無しさん
08/11/18 17:21:41
あとは
1.system("pause");
2.getchar();
3.main関数の最後の行("}")にブレークポイントをいれる
から好きなのを選べばいいと思うよ
168:デフォルトの名無しさん
08/11/19 12:30:43
今まで少しの間でしたがVC#2005EEを使っていました。
今日からC++を学ぼうと思い、VC++2008EEを使ってみたのですが
コード補完機能がないのが気になりました。
VC#2005EEのときは、1文字目から予測リストが出てくるので非常に使いやすかったのですが
VC++2008EEにはそのような機能はないのでしょうか。
169:デフォルトの名無しさん
08/11/19 13:32:24
>>168
ないよ
せいぜい関数の引数リストやクラスのメンバリストが出る程度だがそれでもないよりましだ
170:デフォルトの名無しさん
08/11/19 13:33:56
あ、そういえばCtrl+スペースで出たな
171:デフォルトの名無しさん
08/11/19 13:51:54
質問です。Visual C++2005を使っています。
プロジェクトをつくるとそのフォルダにReadMe.txtが自動で作られますが
ここに各ソースファイルの簡単な説明を追記したいのですが、どのようにすればよいのでしょうか?
作成されたReadMe.txtの最後の方に、
「AppWizard では "TODO:" コメントを使用して、ユーザーが追加またはカスタマイズする
ソース部分を示します。」とか書いてあるのですが、
各ソースファイルのコメント部分にTODO:と入れればその行が自動的に
ReaMe.txtに出力されるのかと思ったのですが、なんともなりません。
何かやり方が違うのでしょうか?
そういったReadMe.txtへの説明の自動追記機能はありますか?
それともRedMe.txtを直接開いて手書きで説明を加えなくてはならないのでしょうか?
172:デフォルトの名無しさん
08/11/19 13:52:53
あ、>>171はVisual C++ 2005 Express Editionです。
ひょっとしてエディションの問題???
173:デフォルトの名無しさん
08/11/19 16:06:59
>>165
コンパイルエラーならconio.hがインクルードされてないとかじゃね
174:デフォルトの名無しさん
08/11/19 16:13:36
// TODO: ここにコマンド ハンドラ コードを追加します
175:デフォルトの名無しさん
08/11/19 16:19:32
TODOコメント使うのはAppWizardであって、ユーザー(あなた)ではない
AppWizardがあなたが追加、またはカスタマイズすべきソース部分を教えてくれているだけ
AppWizardが生成するReadMeはあなたに対する説明文であって、あなたのアプリケーションを使う人に対するものではない
176:デフォルトの名無しさん
08/11/19 16:43:17
>>169
レスありがとうございます。たしかに、ないよりはましですね。
もやもやがなくなったので勉強してきます。
177:デフォルトの名無しさん
08/11/19 16:45:48
>>174-175
レスありがとうございます。
えーと、つまりReadMe.txtもTODO:コメントも、後から
自分で追記したりするようなものではないということでいいんでしょうか?
ReadMe.Txtはプロジェクト作成時にVCが自動作成したファイルだけを示し、
その内どこをいじるのかがTODO:コメントで指示されるという解釈であってますか?
178:デフォルトの名無しさん
08/11/20 19:29:23
いやあれウィザードが吐くだけの固定コメだから
メッセージマップとかをクラスのプロパティからいっぱい作って見れ 全部同じコメだ
179:デフォルトの名無しさん
08/11/21 12:12:07
int型のポインタを宣言するときは
int* pA; とするのがいいのか
int *pA; とするのがいいのか教えていただけませんか。
テキストにはどちらでも良いと書いてありましたが、できれば多数派に合わせておきたいので・・・
180:デフォルトの名無しさん
08/11/21 12:36:44
>>179
ポインタをtypedefする
typedef int *LPINT
LPINT pA;
181:デフォルトの名無しさん
08/11/21 16:31:05
>>179
後者が一般的
182:デフォルトの名無しさん
08/11/21 16:32:25
int * p;
ではダメですか?
183:デフォルトの名無しさん
08/11/22 16:31:46
名前:
E-mail:
内容:
超初歩の質問ですいません。環境はXP,VC++2008(SP1)でインストール直後のまっさらな状態です。
String *name = textName->Text;
が
error C3699: '*' : この間接指定を型 'System::String' で使用できません
と、VisualStudio2008からダメ出しされまして、エラーメッセージどおりに、
String ^name・・・・
としたらうまく通りました。
エラーの原因はStringクラスが定数文字列前提だからかな?とも
思ってますが、それよりも^演算子(なんでしょうか?)の
意味がさっぱり調べられません。
ググってもこれといったものが出ませんでした^^;
^の意味をどなたか教えていただけませんでしょうか・・・。
184:デフォルトの名無しさん
08/11/22 16:51:51
>>183
URLリンク(msdn.microsoft.com)(VS.80).aspx
185:デフォルトの名無しさん
08/11/22 17:08:32
183です。
助かりましたー。新仕様だったんですね。
186:デフォルトの名無しさん
08/11/22 19:29:02
ちょw
187:デフォルトの名無しさん
08/11/22 20:37:46
名前:
E-mail:
内容:
なんぞこれ
188:デフォルトの名無しさん
08/11/22 21:32:16
デスマの合図に決まってるだろ
189:デフォルトの名無しさん
08/11/23 00:33:46
質問です。VisualC++2008をつかっています。
ソースを書き換える前に保存をしたいのですが、
全部丸ごと別名で保存する方法を教えてもらえませんか?
.cppや.hを個別に保存はできましたが、プロジェクトの中身を丸ごと別名で保存はできないのでしょうか?
190:デフォルトの名無しさん
08/11/23 01:26:10
逆に考えるんだ
元のプロジェクトの中身をコピーして別名にしたあと上書き保存すれば結果は同じだと
191:189
08/11/23 02:01:38
>>190
なるほど、ありがとうございました
192:デフォルトの名無しさん
08/11/23 03:58:12
Visual Source Safeを使えばいいと思うよ
193:デフォルトの名無しさん
08/11/23 11:48:07
次のVC++で改良される自動生成コメント ...
// TODO: ここに 派遣さんが コマンド ハンドラ コードを追加します
194:デフォルトの名無しさん
08/11/23 17:04:29
SDKのダイアログリソースを見ると全部英語表記で記述してありますが
VCでビルドするともちろん日本語で表示されますが
日本語用のストリングテーブルがどっかにあるんですか?
195:デフォルトの名無しさん
08/11/23 22:14:00
調べた事ないが、リソースDLLがどっかにあるんじゃまいか?
196:デフォルトの名無しさん
08/11/23 22:25:55
予約語にinterface ってのがあるんだがこれ何?
Javaのinterfaceと同じ感じなのか?
言語仕様にはこんなのなかったとおもうんだが
197:デフォルトの名無しさん
08/11/23 22:28:58
C++/CLIのinterfaceではないだろうか
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4347日前に更新/248 KB
担当:undef