検索結果 38 件

by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++ FindFirstFileの使い方
返信数: 2
閲覧数: 2668

Re: C++ FindFirstFileの使い方

Win32 APIが失敗したならば,まずは GetLastError API を呼び出して,エラーコードを取得する必要があります。 # 他の方法でエラー原因を通知したり,エラー原因の取得が出来ないAPIもありますが。 次に,ブレイクポイントやウオッチを使って,デバッグします。 大抵は,その時点でデータがおかしいはずです。そのおかしい原因をさらに探ります。 コードを見る限り,データファイルかstr1の実際の設定値がおかしいのではないか,という気がしますが……。 設定値がおかしかったです.具体的にはPATHの初めには円マークが必要なのに抜けてました^^; 解決しました.迅速な回答有難うございました.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++ FindFirstFileの使い方
返信数: 2
閲覧数: 2668

C++ FindFirstFileの使い方

C++言語の話です. 【前提条件】 txt形式のファイルの中に1行づつフォルダへのパスが書いてあります.(例 /ap/tmp 以下簡易処理手順 1.テキスト読み込み (問題なし 2.そのフォルダのファイル一覧表示( ここで問題発生 プログラム自体は動作しますが,仮説と異なる,私の予想では,puts(ffd.cFileName);の所で文字を出力するはずなのですが・・・ 何も出力してくれません.理由としてはFindFirstFileがINVALID_HANDLE_VALUE を返しているからということは分かっていますが・・・.;; さらにその原因分かる方お願いします. 以下に動くプログラムを載せ...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルデータの更新処理
返信数: 28
閲覧数: 2103

Re: ファイルデータの更新処理

taz さんが書きました:
non さんが書きました:CSVのファイルの行の最後にカンマはありますか?
CSVのファイルの行の最後にカンマを入れましたがだめですね。
俺はそーいうことじゃないと思います.
ってか両方試そうよ.
それでだめなら最後にカンマないのになんで最後%[^,]なのってことでしょ.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルデータの更新処理
返信数: 28
閲覧数: 2103

Re: ファイルデータの更新処理

taz(別PC) さんが書きました:まずいとは、どうまずいのでしょうか?
HINT 言われた周辺いじったり,色々試行錯誤してみたらいいと思う. 
(個人的には&(member.no)のが何言ってるのか分かりやすい.)
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語とは何か
返信数: 4
閲覧数: 519

Re: C++言語とは何か

ISLe さんが書きました:C++ Likeというのは分かりませんが、関数テンプレートやオーバーロード、引数のデフォルト値、ブロックの途中での変数宣言、などCの文法の延長のような仕様だけを使って書かれたコードはBetter Cと呼ばれますね。

割り切ってやるのなら良いのではないでしょうか。
レス有難う御座います.
Better Cの人口はどの程度いるんでしょうかね・・・^^;
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語とは何か
返信数: 4
閲覧数: 519

Re: C++言語とは何か

MoNoQLoREATOR さんが書きました:【雑談?】オブジェクト指向プログラミングについて
このトピックが参考になるのではないでしょうか。
ざっと読みましたが,参考になりそうです^^
有難う御座いました.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語とは何か
返信数: 4
閲覧数: 519

C++言語とは何か

プログラミング初心者~中級くらいの者です。さっそく質問なのですが・・・,
C++ likeなプログラミングとは,あえて言うなら,それはどんな感じでしょうか・・?
C++はC言語の文法は勿論使えますし,クラスの使用は強制されてません。(javaと違ってメインクラスは無い。)
クラス,継承,テンプレート,オーバーライド,コンテナ・・・これらを多用(必要ならば)するのがC++ likeなのでしょうか。
(C++で新たに提供している機能を使う代わりにCの文法を混ぜてしまうのは保守性や可読性(スマートさ?)的に問題あり?)
自分はこう考える等の意見がありましたら宜しくお願いします。
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 グローバル変数を避ける方法
返信数: 5
閲覧数: 1144

Re: C言語 グローバル変数を避ける方法

void test(int* counter, int* counter2) { if (...) { test_sub(counter, counter2); } else { test(counter, counter2); } } void test_sub(int* counter, int* counter2) { if (...) { (*counter)++; (*counter2)++; } } 基本的にポインタを渡すようにすればいいのではないでしょうか。 counter,counter2をstaticなファイル・スコープにして、counter,counter2をの値を外部に...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 グローバル変数を避ける方法
返信数: 5
閲覧数: 1144

C言語 グローバル変数を避ける方法

C言語で関数を作る際に例えばtest関数を作るとする. [test関数の処理内容] 条件がTUREならtest_sub関数を呼び出しリターン文する. 条件がFALSEならtest関数を再帰呼び出しする. [test_sub関数の処理内容] 条件がTUREならcounter,counter2を加算してリターン文 条件がFALSEならリターン文 void test(){ if(条件文){ test_sub(); return ; } test(); } void test_sub(){ if(条件文){ counter++; counter2++; } return ; } この状況でcounte...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C extern 使うかどうか・・。
返信数: 2
閲覧数: 381

Re: C extern 使うかどうか・・。

使わないに越したことがないですが避けない方が良い(その方がバグになり辛い)状況はあるかも知れません。あるいはextern constを使うのは悪いことではないと思います。 ただ、基本的にファイルスコープ程度に留めたほうが質の悪いバグを内包しない可能性は高くなりますので変数のスコープはできるだけ限定するのが妙なバグに遭遇しない賢い方法です。 takumi@0832080.comさんが組んだことのある規模が分かりませんが、1万行程度も行くとちゃんと組まないと数カ月後に分けのわからないプログラムとなる事は間違いないです。 これは参考ですが龍神録50章でコメント・空白行込みで3500行程度ですね。 ...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C extern 使うかどうか・・。
返信数: 2
閲覧数: 381

C extern 使うかどうか・・。

C言語で大規模(1万行以上)なプログラムを作る際にextern宣言した外部変数は使った方がプログラムがまとまるのか、使わない方がまとまるのか一般的にはどっちなのでしょうか・・・?
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: VC++2008 Matlabエンジン
返信数: 9
閲覧数: 2628

Re: VC++2008 Matlabエンジン

環境変数にdllのパスを入れたら解決しました。
数々のご意見頂きまして本当に助かりました。
有難うございます。
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: VC++2008 Matlabエンジン
返信数: 9
閲覧数: 2628

Re: VC++2008 Matlabエンジン

LNK4248はMSILの不完全定義がネイティブの完全定義とリンクされるときに出るそうです。 CLRアプリケーションとして作成しなくてはいけなかったりしないですか? サイドバイサイド構成についてはメッセージにある通り、イベントログ等で要求されたバージョンと参照されたバージョンを確認してください。 要求されたバージョンと同じバージョンのランタイムをインストールする必要があると思います。 Matlabの要件としてドキュメントされてないのでしょうか。 返信有難う御座います.色々調べて以下のようにしてみました. 共通言語ランタイムサポートを /clrから使用しないに変更して, ランタイムライブラリを...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: VC++2008 Matlabエンジン
返信数: 9
閲覧数: 2628

Re: VC++2008 Matlabエンジン

ちょっと1点気になることがあったのですがVisual C++ 2008というのは Express Editionでしょうか? Professional Editionでしょうか? Express Editionであれば、ブルボンさんの仰るとおり64-bitでのコンパイルはできないので、VC++ Express 2010を入れるか32-bitライブラリを入手するかする必要があると思います。 VC++ 2008 Proであれば、64-bitビルド用のライブラリを入手することが可能なようです http://msdn.microsoft.com/ja-jp/library ... 90%29.asp...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: VC++2008 Matlabエンジン
返信数: 9
閲覧数: 2628

Re: VC++2008 Matlabエンジン

えーと、OSが64bitのようですが、Matlabは何bit版をインストールされましたか。 VC++ 2008では64bitコンパイルできなかったと思うのですが。 ほぼ同じ環境でやったとき、ほぼ同じ問題で躓いた覚えがありますが、確かそのあたりが問題だった気がします。 返信有難う御座います。遅くなりました。MatLab2011 は64bitです。 engOpen関数等のの本体(処理)が定義されているlibファイルをライブラリファイルに設定出来ればいけるかなとは思っているのですが・・・。 (追記 Matlabのコマンドライン上等からC++のプログラムを実行することには上記の環境で既に成功してます。)
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: VC++2008 Matlabエンジン
返信数: 9
閲覧数: 2628

VC++2008 Matlabエンジン

CPU Intel core i7 3.20GHz メモリ(RAM) 6.00GB OS windows7 64bit 開発環境 VC++2008 Matlab2011 VC++2008上でMatlabエンジンを起動しようとしています.(C++ or C言語からMatlabのライブラリを呼び出すことが目的) インクルードファイル,ライブラリファイルは大体オプションで設定しました. プログラム上でengine.h(おそらく関数や構造体などのプロトタイプ宣言のみ記述されているヘッダ)インクルードした所エラーは無いが,engOpen関数を使うと未解決という状態です. ライブラリファイルが足りないのか...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: X64コンパイラおよびツール インストール後 入れたい
返信数: 2
閲覧数: 583

X64コンパイラおよびツール インストール後 入れたい

cpu Intel core i7 960
windows 64bit
Visual C++ 2008 において,
インストール後に「X64コンパイラおよびツール」に入れたいのですが,どうしたらいいですか?
(通常はインストール中にチェックを入れてインストールするものですが・・・)
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: プログラム複数起動した時の実行時間について
返信数: 2
閲覧数: 314

Re: プログラム複数起動した時の実行時間について

softya(ソフト屋) さんが書きました:消費メモリ量やHDDを使う割合によっても変わりますが、CPU稼働率はタスクマネージャで確認できるはずです。
3つのコアが100%で稼動しているでしょうか? HTとかが稼動していると遅くなると思います。
あとインテル ターボ・ブースト・テクノロジーはシングルコア時にいちばん有効になると思いますが、2倍速くなるわけではないのでマルチで走らせたほうが早いと思います。
タスクマネージャでは30~40%程度でした.マルチで走らせた方が早いとの意見があったので解決とします.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: プログラム複数起動した時の実行時間について
返信数: 2
閲覧数: 314

プログラム複数起動した時の実行時間について

[環境]
OS.......windows7 64bit
CPU.....Intel corei7 960 3.20Ghz
コマンドプロンプトを3つ出して,ある計算(単体で30分程度掛かる)するプログラムを実行したところ,
測ってないですが,1時間以上掛かります.

これって単体で順に実行するのと,3つ同時はどっちが早いのでしょうか?(プログラムや環境によりますか?)
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++ newによる確保の大きさ.
返信数: 11
閲覧数: 3620

Re: C++ newによる確保の大きさ.

処理系にもよるので一概には言えないのですが... 配列に対するnewの場合、要素の型がC互換型でなければ、配列の直前に要素数が挿入される実装が多いようです。 具体的には... struct A { ~A(); }; int main() { A* ptr = new A[10]; delete[] ptr; } とした場合、new A[10]で割り付けられるサイズはsizeof(A[10])ではなく、少なくともsizeof(A[10])+sizeof(std::size_t)になるというわけです。 (実際には、要素数はstd::size_t型ではないかもしれませんし、境界調整の関係で詰め物が...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++ newによる確保の大きさ.
返信数: 11
閲覧数: 3620

Re: C++ newによる確保の大きさ.

beatle さんが書きました:なぜ配列にはdelete[]演算子を使うかについて捕捉です.

newにも2種類あります.単体確保用のnewと,配列確保用のnew[]です.
softyaさんが言うように,new, new[]するとコンストラクタが呼び出されます.
new[]を使うと,各要素に対してコンストラクタが呼び出されます.つまり配列の要素数と同じ回数コンストラクタが呼ばれます.
同様に,deleteは単体オブジェクト用のデストラクタ呼び出し,delete[]は配列要素数分のデストラクタ呼び出しをします.

ということで,配列の生成・破棄にはnew[],delete[]を使わないといけません.
捕捉有難うございます. 
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++ newによる確保の大きさ.
返信数: 11
閲覧数: 3620

Re: C++ newによる確保の大きさ.

softya(ソフト屋) さんが書きました: まったく違います。
malloc/freeだとコンストラクタ/デストラクタが呼び出されないので支障が出る可能性が高いで基本C++ではmalloc/freeは禁止です。
必ずnew/deleteを使って下さい。さっき書き忘れましたがdeleteならデストラクタが呼び出されます。freeだとメモリが解放されるだけです。

それと
delete[] C_a;
です。配列の時は気を付けましょう。
これからは全てnew/deleteを使おうと思います.
malloc/freeとnew/deleteの違いが分かりました.
delete[] C_a;は気をつけます^^;
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++ newによる確保の大きさ.
返信数: 11
閲覧数: 3620

Re: C++ newによる確保の大きさ.

softya(ソフト屋) さんが書きました:newは指定された型に必要なメモリが確保されて返されますね。型をsizeofしなくて良い分楽です。
あと大きな違いはnewでクラスのインスタンスを生成するとコンストラクタが呼ばれることです。これは重要です。

返信有難うございます.ということは基本はnewを使う方が可読性は高いということですね.勉強になりました.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++ newによる確保の大きさ.
返信数: 11
閲覧数: 3620

Re: C++ newによる確保の大きさ.

beatle さんが書きました:malloc(n) -> nバイト
new T[n] -> sizeof(T) * nバイト
です.
つまり,普通の配列の宣言の様に,確保したい要素数を[n]と書けば,その要素数が丁度入る大きさの領域が確保されます.
返信有難うございます.例えば 
ClassA *C_a = new ClassA[10] ;
delete(C_a);

ClassA *C_a = (ClassA *) malloc(sizeof(ClassA *)*10) ;
free(C_a);
これは同じ動作ということですね.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++ newによる確保の大きさ.
返信数: 11
閲覧数: 3620

C++ newによる確保の大きさ.

[環境] OS: Windows7 64bit CPU: intel corei5-2400 メモリ:8GB C++を始めたばかりですが,以下の内容が調べても分かりません. 分かる方いましたら教えて戴きたいです. mallocは指定した大きさのメモリ返すと思うのですが, newはどの程度の大きさのものが返ってくるのですか? (よく分からないのでC++なのに以下の様にmallocを無理やり使ってます.) class Buffer{ size_t size; void *pointer; public: Buffer(size_t buf){ size =0; pointer = NULL; si...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの意味について
返信数: 64
閲覧数: 3404

Re: プログラムの意味について

putcharは引数1個だよ.putchar(map[x][y]);とか出来ないっけ・・・?
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの意味について
返信数: 64
閲覧数: 3404

Re: プログラムの意味について

どういたしてまして,時間さえあれば,作るのは苦ではないですので気にしないでください.
例文(プログラム)書いといて,アレなんですが・・・時間が限られているなら,NO27さんの案がとても名案だと思います.
1~5までを一つずつエラーが無いか確かめながら変更していけば.いけそうな気がします.
もし1~5までをクリアして,時間が許すなら+αの変更などを考えるのもアリでしょう.

( 学習範囲内のことが完璧出ない限り,学習範囲内で解くのは簡単ではないですよ.)
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの意味について
返信数: 64
閲覧数: 3404

Re: プログラムの意味について

例えば仕様はこんな感じで書いていけばよいと思います.仕様が詳しく分からないので抜けてることがあるかもしれません. #include <stdio.h> #include <stdlib.h> main(){ int Width = 10;//空間の横幅 int Height = 10; //空間の縦幅 int startX = 0;//初期のx座標 int startY = 0;//初期のy座標 char vecter = '0';//方向を持つ文字 abcdのどれかが入る. int distance = 0;//移動する距離0~10の数字 char *array;//10*10の空間ポインタ...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: プログラムの意味について
返信数: 64
閲覧数: 3404

Re: プログラムの意味について

#include <stdio.h> main(){ int array[10][10]; int i; while(scanf("%d",&i) !=EOF){ while(i-->0 && i<10){ if(i<=5){ printf("w"); }else{ printf("o"); } } } return 0; } お手上げです。 実行結果は数値を10まで入力すると以下のようになりました。 1 w2 ww3 www4 wwww5 wwwww6 wwwwww7 owwwwww8 oowwwwww9 ooowwwwww10 oooowwwwww このwを向きと数を入力したらその方向へ...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: サイドバイサイド構成が正しくない
返信数: 6
閲覧数: 1066

Re: サイドバイサイド構成が正しくない

もしかしてリリースビルドしてないからが大きな原因なのでしょうか?

大学に行けばリリースビルド出来るかもしれないので,解決とします.
勉強になりました.色々教えて頂き有難う御座いました.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: サイドバイサイド構成が正しくない
返信数: 6
閲覧数: 1066

Re: サイドバイサイド構成が正しくない

softya(ソフト屋) さんが書きました:名前を見るかぎり、OpenMPのデバッグ版が要求されています。
リリースビルドされていないのでしょうか?
リリースはしてません.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: サイドバイサイド構成が正しくない
返信数: 6
閲覧数: 1066

Re: サイドバイサイド構成が正しくない

softya(ソフト屋) さんが書きました:イベントログを確認してみてください。
たぶん、2002とか2003のランタイムが必要なんだと思います。
windowsログ->アプリケーション でそのプログラム所を見ると下記の記述がありました.

従属アセンブリ  Microsoft.VC90.DebugOpenMP,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" が見つかりませんでした。
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: サイドバイサイド構成が正しくない
返信数: 6
閲覧数: 1066

Re: サイドバイサイド構成が正しくない

すいません windows7 64bitでは実行出来たことはありません.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: サイドバイサイド構成が正しくない
返信数: 6
閲覧数: 1066

サイドバイサイド構成が正しくない

環境は windows7 64bit Service Pack 1 (買ってから1ヶ月経ってないPCです) VC++(2000何年か分からない)で書いたあるプログラムを(bmpをyuvに拡張子変換するプログラム)実行すると,下記のようなエラーが出ます. 因みに同じ環境で少し前までは動いたプログラムで,他のプログラムは今も正常に動くと思います. vista 32bit のPC も持ってるので試しに実行した所,こちらも数週間前まで動いたはずなのに下記のようなエラーが出ました. 解決方法を調べてC++2010,2008,2005のランタイムをwindows7の方へ入れたのですが・・・ダメでした. 解...
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: エラーがわかりません
返信数: 2
閲覧数: 143

多分

GameProg.exe が実行中だったりしませんか?

処理中に強制終了した場合などで正常終了してないことがありますので,
タスクマネージャー等を使って終了させてからビルドしたらどうでしょう.
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語 newするしない
返信数: 1
閲覧数: 357

Re: C++言語 newするしない

javaと混同してました。解決とします。
by takumi@0832080.com
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語 newするしない
返信数: 1
閲覧数: 357

C++言語 newするしない

C++言語において、質問があります。もしかした変なこと言ってるかもしれません。

ローカルなクラス型変数( 例えばクラスHuman型の変数Hmanなど )。
これらを扱う時にnewするか、しないかを考えてしまいます。

プリミティブ型のローカル変数と違い、( 大きな配列のように )クラス型の変数メモリの消費が大きい可能性がある ので基本は動的確保ということなのですか?

詳細検索ページへ移動する