【初心者歓迎】C/C++室 Ver.13【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGただしその場合、質問者は必ず、環境を書きましょう。
※sageは禁止です。
【歴代スレ】
1:http://pc5.2ch.net/tech/kako/1059/10590/1059041347.html
2:http://pc5.2ch.net/tech/kako/1067/10671/1067189450.html
3:http://pc2.2ch.net/test/read.cgi/tech/1069719929/ (消滅?)
4:http://pc2.2ch.net/test/read.cgi/tech/1073473867/ (消滅?)
5:http://pc5.2ch.net/test/read.cgi/tech/1077102238/ (dat落ち)
6:http://pc5.2ch.net/test/read.cgi/tech/1082182233/(dat落ち)
7:http://pc5.2ch.net/test/read.cgi/tech/1086373839/(dat落ち)
8:http://pc5.2ch.net/test/read.cgi/tech/1091264964/(dat落ち)
9:http://pc5.2ch.net/test/read.cgi/tech/1094494997/l50
10:http://pc5.2ch.net/test/read.cgi/tech/1097416187/
11:http://pc5.2ch.net/test/read.cgi/tech/1099190154/
12:http://pc5.2ch.net/test/read.cgi/tech/1101100031/
【ラウンジ】質問、回答が長い時はココを使うと見やすい
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
関連スレは>>2-5ぐらい
0002デフォルトの名無しさん
NGNGhttp://dayomon.org/
0003デフォルトの名無しさん
NGNG★初心者にVisual C++を教えるスレ★ Part16
http://pc5.2ch.net/test/read.cgi/tech/1101022051/
■ MFC相談室 MFC12.dll■
http://pc5.2ch.net/test/read.cgi/tech/1096848771/
C++Builder相談室 Part12
http://pc5.2ch.net/test/read.cgi/tech/1099238936/
GCCについて part5
http://pc5.2ch.net/test/read.cgi/tech/1103057320/
cygwin + mingwn + gcc 相談室
http://pc5.2ch.net/test/read.cgi/tech/1058134693/
タダで使えるBorland C++ Part4
http://pc5.2ch.net/test/read.cgi/tech/1091066805/
タダで使えるVisual C++ $2
http://pc5.2ch.net/test/read.cgi/tech/1086287039/
Borland C++ BuilderX
http://pc5.2ch.net/test/read.cgi/tech/1065260556/
Turbo C++ 5.0 プログラミング
http://pc5.2ch.net/test/read.cgi/tech/1030878794/
0004デフォルトの名無しさん
NGNGC言語なら俺に聞け! Part 98
http://pc5.2ch.net/test/read.cgi/tech/1104114259/
C++相談室 part38
http://pc5.2ch.net/test/read.cgi/tech/1101473340/
ぼるじょあがC/C++の宿題を片付けますYO! 37代目
http://pc5.2ch.net/test/read.cgi/tech/1103913840/
【C++】template 統合スレ -- Part6
http://pc5.2ch.net/test/read.cgi/tech/1101384692/
C++は難しすぎ 難易度:2
http://pc5.2ch.net/test/read.cgi/tech/1071697977/
C言語の第一歩
http://pc5.2ch.net/test/read.cgi/tech/1031374980/
★C言語で遊ぼう!★
http://pc5.2ch.net/test/read.cgi/tech/1028269762/
プリプロセッサについて熱く語るスレ。
http://pc5.2ch.net/test/read.cgi/tech/1058203590/
C統合・質問スレッド
http://pc5.2ch.net/test/read.cgi/tech/1068359871/
フリーコンパイラー使えよ。
http://pc5.2ch.net/test/read.cgi/tech/1061384369/
C、C++の最適化について語るスレ
http://pc5.2ch.net/test/read.cgi/tech/1084676298/
0006デフォルトの名無しさん
NGNGだれか向うの方削除依頼出した?
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG> 【初心者歓迎】を入れ忘れた程度で
致命的
0010デフォルトの名無しさん
NGNG俺にはそう思えないが、そう言うならそうなんだろうな
0011デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG確かに。こちらが本スレかな。
0014デフォルトの名無しさん
NGNGあるタイミングでDLLからEXEへPostMessageしています。
その引数内で、構造体(DLLでnewしている)のポインタを渡していて、
EXEでdeleteしたいのだが、delete時に異常終了してしまいます。
そもそも上記のようなことってできるのでしょうか?
開発環境 VC++6 SP6 WinXPです。
0015デフォルトの名無しさん
NGNGどうしてもそういうことやりたいならAPIでメモリ確保してplacement newすればいけるかもしれんが。
0016デフォルトの名無しさん
NGNGそのDLLは別スレッドで動くので、アドレス空間が違う。だからPostM~の代わりにPostThreadM~使う必要。でもポインタは使えない。構造体ならWM_COPYDATAかCreateFileMa~の共有メモリ使え。
0017デフォルトの名無しさん
NGNGtmp = tip[j].x;
tip[j].x = -tip[j].y;
tip[j].y = tmp;
}
C++でこんなコードを見つけたのですが3行目の -tip[j].y の意味がわかりません。
数学と同じマイナスの解釈でいいのでしょうか。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG左様。後は自力で考えな
0021デフォルトの名無しさん
NGNG>>19をキーワードにしてぐぐったらわかりました。
0022デフォルトの名無しさん
NGNGヘルプも使え、ボケ
002314
NGNGどもでした。
えーと、仕様の練り直しです。。
0024デフォルトの名無しさん
NGNGその構造体がPODならHeapAllocとHeapFreeで
メモリ確保・解放するようにすれば平気だよ。
それがいいかどうかはともかく。
0025デフォルトの名無しさん
NGNG大嘘書くなよ。
EXEとDLLはDLLが内部的に別スレッドを生成したりしない限り基本的に同一スレッドで動くし、
そもそも別プロセスならともかくマルチスレッドなら全てアドレス空間は同じ。
0026デフォルトの名無しさん
NGNGわかるかたいたら教えてください。
void Test( int * );
↑に対して
Test( (int*)&{1,2,3,4} );
↑のようなかたちで呼び出したいということです。
ちなみにこれではエラーになります。
外に出せば全て解決するのは十分承知の上ですが、
以前適当に書いたらできたような記憶があって、
いろいろやってみたんだけど、どうしても思い出せなくて気持ち悪いです。
環境はVC++で通ればいいんですが、
Cの一般的な文法として認められてるやり方があればいいなと。
0027デフォルトの名無しさん
NGNG>Cの一般的な文法として認められてるやり方があればいいなと。
VCのことは知らんが、Cにそんな構文は無い。
002827
NGNG(int[]){1, 2, 3, 4}
C99なら↑でいける。
002926
NGNG以前GCCで書いたときもそんな感じだった気がしますが、VC++6.0ではできないようです。
残念。
0030デフォルトの名無しさん
NGNG三辺の長さがわかっている直角三角形の
直角以外の角を出す関数って無いんですか?
sin(87/654) = 0.123456の時、0.123456からsinに使う2辺の角度を知りたいのです。
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGThx.
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGconio.h の最初の
#ifdef __cplusplus
extern "C" {
#endif
と、最後の
#ifdef __cplusplus
}
#endif
を入れた人の身にもなってやれ。>>33
0037デフォルトの名無しさん
NGNGVC++6.0を使用しています。
コーディングしているとたまに、全く反応が無くフリーズしたような状態になります。
フリーズ時間は数十秒〜1分くらいで、発生頻度は一定していません。
全く出ないときもありますし、30秒に1回くらいのペースで発生するときもあります。
自動保存にしては頻度が高すぎます。
フリーズするのはVCだけで、他のソフトは普通に操作できます。
CPU負荷にも変化は無いので、CPU100%で重くなっているというわけではないようです。
OSはWinXP SP2ですがSP1の頃からずっと発生していました。
0038デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1101022051/
0039デフォルトの名無しさん
NGNGchar c;
c = (char *)i;
上記のコードですが、
* が付いていると、どう言う事になるんでしょうか。
0040デフォルトの名無しさん
NGNGそのコードは激しく感心しない
0041デフォルトの名無しさん
NGNG実体をポインタ型にキャストするのはやらない方が良い。結果は実行環境による。知りたければnasmで難解なアセンブリ学べ
004239
NGNG先輩教えてもらったのですが、何が何だか分からなくて...
0043デフォルトの名無しさん
NGNGアドレス0xa0番地のメモリにアクセスするために(char*)0xa0と書く。でも最近のOSはメモリ保護のために例外を投げてしまう。char*p=(char*)NULL; *p=0x7f;などは確実に失敗する。
0044デフォルトの名無しさん
NGNG藻前は >>42 のソースを 100 万回ほど朗読しろ
0045デフォルトの名無しさん
NGNG×>>42
○>>39
orz
0046デフォルトの名無しさん
NGNG乙!!
0047デフォルトの名無しさん
NGNG何も答えられないが最適解ですね。
0048デフォルトの名無しさん
NGNGvirtual void Show() = 0;
とあるんですが、=0;ってなんなんでしょうか?
仮想関数で返り値なしのshow()に=0;ってのがよくわからないんですが・・・
派生クラスには
virtual void Show() { myData->Show(); myNext->Show(); }
というのがあります。
関数に代入とか出来ないですよね?
0049デフォルトの名無しさん
NGNG純粋仮想関数でぐぐれ
0050デフォルトの名無しさん
NGNG即レスthx
解決しました
0051デフォルトの名無しさん
NGNG質問なんですが、純粋仮想関数みたいな感じで、
派生クラスに引数を取るコンストラクタの実装を強要することってできますか?
今組んでるプログラムが、幾つかのフォーマットのファイルを扱う予定なんですが
各フォーマット共通の部分を基底クラスのパラメータとして持って、
各フォーマット固有の部分を派生クラスで扱いたいんです。
派生クラスのインターフェイスを統一するために、派生クラス全部に
同じ引数を取るコンストラクタを実装したいと思ってます。
解決策があったらお願いします。
0052デフォルトの名無しさん
NGNG純粋仮想関数の利点ってなんでしょうか?
0053デフォルトの名無しさん
NGNG派生クラスにオーバーライドを強要できる(しないとエラーになる)
基底クラスのインスタンスを作れなくなる(インターフェースクラスに使える)
0054デフォルトの名無しさん
NGNG>派生クラスに引数を取るコンストラクタの実装を強要することってできますか?
.基底クラスに引数ありのコンストラクタ以外用意しないではだめなのかな?
良心的な人なら、派生クラスのコンストラクタでもその引数を受け取るようにするでしょう。
0055デフォルトの名無しさん
NGNGMicrosoftのC/C++のコンパイラって
[Visual C++ 6.0] → [Visual C++ .net] → [Visual C++ .net 2003]
って変わったんですか?
.netって6.0の次ですよね?
0056デフォルトの名無しさん
NGNG.net 2003 = 7.1
0057デフォルトの名無しさん
NGNGあ、そうなのか、どうりで.net 2003は良く検索で出てきたけど
.netはあまり出なかったわけだ
謎が解決しました、ありがとう
0058デフォルトの名無しさん
NGNGメッセンジャーのような複数の相手とP2P接続させたいのですが
参考になるサイトとか書籍などありましたら教えてください。
0059デフォルトの名無しさん
NGNGRegnessemのソース。
Delphiだけど読むだけならそれほど困難ではない。
0061デフォルトの名無しさん
NGNGと
#include <iostream.h>
の違いを教えてください
あと
#include <cstdlib>
と
#include <stdlib.h>
の使い分けについても教えてください
0062デフォルトの名無しさん
NGNGなんでこの程度のことも調べられないの?脳みそ腐ってんのか?
0063デフォルトの名無しさん
NGNG2.ファイル一覧にフォルダがあればそのフォルダ内のファイル一覧も取得。
3.2を繰り返して指定フォルダ以下のツリーを作成。
ということをやりたいんですけど、2以下をどうすればいいか思いつきません。
参考になるサイトとかあったら教えてください。
コンパイラはBCC5.5です。
0064デフォルトの名無しさん
NGNGスレ違いだべ
Windows -> http://www.google.co.jp/search?hl=ja&q=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+%E6%A4%9C%E7%B4%A2+%E5%86%8D%E5%B8%B0+FindFirstFile&lr=lang_ja
C++ -> ↑を boost::filesystem で
(しかし boost::filesystemって日本語使えてなかったような…)
0065デフォルトの名無しさん
NGNGかなり参考になりますた。
0066デフォルトの名無しさん
NGNGboost::filesystemを使った例。
#include <algorithm>
#include <fstream>
#include <string>
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/operations.hpp>
std::ofstream myout("一覧.txt", std::ios::out);
struct pred_p{bool operator()(const boost::filesystem::path& x){return !boost::filesystem::is_directory(x);}};
void scan_folder(const unsigned int level, const boost::filesystem::path& scan_path, const std::string& lines)
{
std::vector<boost::filesystem::path> folders((boost::filesystem::directory_iterator(scan_path)), boost::filesystem::directory_iterator());
folders.erase(std::remove_if(folders.begin(), folders.end(), pred_p()), folders.end());
std::vector<boost::filesystem::path>::const_iterator first(folders.begin());
std::vector<boost::filesystem::path>::const_iterator last(folders.end());
if (first != last)
{
for ( ;first != last - 1; ++first)
{
myout << lines << "├" << first->leaf() << std::endl;
scan_folder(level + 1, *first, lines + "│");
}
myout << lines << "└" << first->leaf() << std::endl;
scan_folder(level + 1, *first, lines + " ");
}
}
int main()
{
scan_folder(0, boost::filesystem::current_path(), "");
return 0;
}
0067デフォルトの名無しさん
NGNGProgram Files下のファイルに対してfopen関数にてファイルを開こうと試みたのですが出来ませんでした。
理由と解決方法が知りたいのですが、よいサイト等ご教授願えないでしょうか?
環境は Windows2000 VC++6.0 です
0068デフォルトの名無しさん
NGNG0069初心者
NGNGですが、OpenGLの画像を2つのwindowで表示したいのですがうまく表示できません。
そこで、可能かどうかと、可能ならばよい解決方法を教えていただきたいです。
どうかよろしくお願いします。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNGレスありがとうございます
No such file or directoryと返されました
ファイル名等は間違えていないのですが…
errnoに関してはひとつ利口になりました、どうもありがとう
0072デフォルトの名無しさん
NGNGまさか fopen("C:\Program Files\...") とか?
0073デフォルトの名無しさん
NGNGfopen(C:\Program Files\.....")となってます
0074デフォルトの名無しさん
NGNG「事実上は」ってのがよくわからないけど、
fopen("C:\\Program Files\\...") にしたら開けたりするのかな?
0075デフォルトの名無しさん
NGNGエスケープシーケンスによるエラーとかではないとは思っています
コンパイル自体は通っています
0076デフォルトの名無しさん
NGNG007767
NGNG#include <errno.h>
#include <string.h>
int main()
{
FILE *file;
int c;
char string[512];
char FileName[256];
char *err;
int swich = 1;
printf("ファイル名を入力してください\n>>");
scanf("%s", &FileName);
errno = 0;
if((file = fopen(FileName, "r")) == NULL)
{
err = strerror(errno);
perror(err);
printf("File Open miss.\n");
return -1;
}
007867
NGNG{
while(swich == 1)
{
file = fopen(FileName, "r");
printf("Open succses.\n");
while((fscanf(file, "%s", &string)) != EOF)
{
printf("%s\n", string);
}
printf("reLoad?\n>>");
scanf("%d", &c);
if(c == 1)
{
swich = 1;
}
else
{
swich = 0;
}
fclose(file);
}
}
return 0;
}
ソース出してみます
任意のフォルダ内のファイルは読めたのですが
Program Files下のファイルが読めなくて困っているところです(目的のファイルはProgram Files下のファイルです)
0079デフォルトの名無しさん
NGNG- scanf("%s", &FileName);
+ scanf("%[^\n]", FileName);
0080デフォルトの名無しさん
NGNGscanfでスペース含んだ名前は入力できないような気がする。
perror(FileName); にしてみな。
0082デフォルトの名無しさん
NGNG008379
NGNGscanf 使わなければ
scanf("%s", &FileName); を
fgets(FileName, sizeof(FileName, stdin);
FileName[strlen(FileName) - 1] = '\0';
008467
NGNGまずは通常アクセス出来るかProgram Filesを試したところアクセスすら出来なくて困っていたというところでした
また頑張ってみます
>>79-81
レスありがとうございました
0086デフォルトの名無しさん
NGNG私はDドライブに市販ソフトを
インストールするようにしてるよ
CドライブはOSのインスコのみ
こんな椰子もいるから
0087デフォルトの名無しさん
NGNG市販ソフトはレジストリを使うから、
ファイルさえあればいいってものじゃないんで
結局C:\Program Filesに入れている。
0088Rubyist!
NGNGしかもscanfかい
0089デフォルトの名無しさん
NGNG>他ソフトでアクセス中のファイルにこのプログラムでアクセスする方法を模索しておりまして
アクセス中のファイルにアクセスするな。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNG自動変数・メンバ変数なら、変数自体のメモリはスコープアウトで解放される。
ポインタがぶら下がってる場合はデストラクタでどうにかしないとダメ。
0092デフォルトの名無しさん
NGNGありがとうございます
0093デフォルトの名無しさん
NGNGint Len(const string& str)
{
return str.length();
}
このような関数がある場合、
Len(string());
という呼び出しをしても大丈夫でしょうか?
string()で作成されたインスタンスが、呼び出した関数内で有効なのか教えてください。
0094デフォルトの名無しさん
NGNG有効です
0095デフォルトの名無しさん
NGNGありがとうございました!
0096デフォルトの名無しさん
NGNGネットや書籍で調べたのですが、見つけられなかったので質問させてください。
デフォルトコンストラクタと、その他引数つきのコンストラクタをいくつか
宣言した場合、いくつかのコンストラクタで共通する初期化リストも
それぞれに書かなくてはならないのでしょうか?
初期化リストがかなり長大なため、出来るだけ共通する部分は簡略化
したいと思っているのですが、どなたか教えてください。
0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNGメンバの構成をいじらない限りは、書かなくてはならない。
構成に手を入れてもいいなら、
共通の初期化を行うメンバをひとつのクラスにまとめてコンストラクタを書いたり、
private なコンストラクタ+インスタンス生成用static関数を作ったりできる。
>>97
メンバに「初期化」が重要な意味を持つクラスがあると、そう簡単にはいかない。
0099デフォルトの名無しさん
NGNG>共通の初期化を行うメンバをひとつのクラスにまとめてコンストラクタを書いたり、
あ〜、なるほど〜。今回はこの方法でいけそうです!!ありがとうございました。
0100デフォルトの名無しさん
NGNGWindowsのプログラムを書くときってfstreamは使わないほうが良いのでしょうか?
それともCreateFileのほうが使い勝手が良いだけなんでしょうか?
「使用を避けるべき」なのか「使用可だがCreateFileのほうがベター」なのか
どなたか教えて下さい。出来れば理由もおねがいします。
0101デフォルトの名無しさん
NGNG指定するパラメータがある。
意図的に「共有」を指定しない限り、(不用意にファイルを上書きしないように)
ファイルを開くときには「排他モード」になる
■ このスレッドは過去ログ倉庫に格納されています