検索結果 252 件

by naohiro19
1ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C++CLIでOpen XML SDK 2.5 for Officeを使う
返信数: 7
閲覧数: 282

Re: C++CLIでOpen XML SDK 2.5 for Officeを使う

C# の new は C++/CLIは gcnew です。

コード:

String^ text = gcnew String("テキスト");
と書いて文字列の長さを知りたいときは Length というプロパティを使いますが、プロパティ・メソッドへのアクセスは アロー演算子を使います。

コード:

int len = text->Length;
^(ハット) は .NET Framewokのハンドル型をあらわす記号です。

C++/CLI では 従来のネイティブオブジェクトを持つことができますが、
そのネイティブオブジェクトはポインタである必要があります。
by naohiro19
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: C言語 構造体について
返信数: 26
閲覧数: 861

Re: C言語 構造体について

<stdio.h>(C++では<cstdio>)に宣言されている gets関数は GCC/Clang/Visual Studioの環境では
2011年の C言語の規格 C11 および C++11 では gets関数自体が削除されていますので、使うことはできません。

代わりに fgets関数か、 gets_s関数を使うべきでしょう。
by naohiro19
2ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: 最短経路の求め方
返信数: 8
閲覧数: 347

Re: 最短経路の求め方

Boost.GraphというC++のライブラリがあります。 #include <iostream>[attachment=0]path.png[/attachment] #include <vector> #include <deque> #include <string> #include <boost/assign/list_of.hpp> #include <boost/graph/adjacency_list.hpp> #include <boost/graph/dijkstra_shortest_paths.hpp> using namespace std; using namesp...
by naohiro19
3ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: templateの明示的特殊化・intXXX_t型 について
返信数: 8
閲覧数: 424

Re: templateの明示的特殊化・intXXX_t型 について

Visual Studio 2017のC++17 (/std:c++17)モードでコンパイルすると 'in &in::operator >><int_fast16_t>(int_fast16_t &)': メンバー関数は、既に定義または宣言されています。 note: 'in::operator >>' の宣言を確認してください 明示的な特殊化 'in &in::operator >>(int_fast32_t &)' は関数テンプレートの特殊化ではありません 'in &in::operator >><uint_fast16_t>(uint_fast16_t &)': メンバー関数は、既に定義ま...
by naohiro19
11ヶ月前
フォーラム: C言語何でも質問掲示板
トピック: Compile error on UTF-8
返信数: 1
閲覧数: 442

Re: Compile error on UTF-8

This website is only Japanese.
The sentences except Japanese can not do an answer.
Ask in Japanese if you are Japanese speaker.

Stop a posting by the language except Japanese.
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: 外部DLLの参照について
返信数: 8
閲覧数: 2127

Re: 外部DLLの参照について

C++/CLI(VIsual C++のCLRプロジェクト)というのを用いることでC#から呼び出すことができます。 たとえば簡単な関数(名前空間あり)・クラスを呼び出すスタティックライブラリを作ります(Win32プロジェクト // CppFunctions.h #pragma once int CppGlobalFunc(int i); namespace CppTestNamespace { int CppScopedFunc(int i); } // CppFunctions.cpp #include <iostream> #include "CppFunctions.h" int CppG...
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: NULLについてとゲームループの回し方について
返信数: 2
閲覧数: 334

Re: NULLについてとゲームループの回し方について

C言語においては #define NULL ((void*)0) と定義されています。

C++における NULLは #define NULL 0 と定義されています。
C++11では ポインターが何も刺していないことを表す nullptr というキーワードが用意されました。
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: DirectX11.1のヘッダをインクルードすると
返信数: 2
閲覧数: 408

Re: DirectX11.1のヘッダをインクルードすると

いわゆるリンカーエラーという奴ですね。

ファイルの先頭に以下の行に書き換えてください。

コード:

#include <windows.h>
#include <d3d11_d.h>
#pragma comment(lib, "dxguid.lib")
#pragma comment(lib, "d3d11.lib")
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません
返信数: 16
閲覧数: 3539

Re: E0167 型 "const char *" の引数は型 "char *" のパラメーターと互換性がありません

<sstream>ヘッダーの std::stringstream というクラスを使えば

コード:

std::stringstream ss;
ss << "野原" << "一家";
std::string result = ss.str();
とすることで result には「野原」と「一家」が連結した状態でresultには「野原一家」いう文字列が入ります。
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: 再帰関数 階乗の計算
返信数: 5
閲覧数: 395

Re: 再帰関数 階乗の計算

以下はBoost C++ Librariesの多倍長整数を使った0の階乗から100の階乗を出力したものになります。 C言語のint型はINT_MAXまでの数値しか扱えません。 stdint.hにあるuint64_t型を使うことで20の階乗まで求めることができます。 0!: 1 1!: 1 2!: 2 3!: 6 4!: 24 5!: 120 6!: 720 7!: 5040 8!: 40320 9!: 362880 10!: 3628800 11!: 39916800 12!: 479001600 13!: 6227020800 14!: 87178291200 15!: 1307674368...
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: C言語でリソースの練習をしています
返信数: 4
閲覧数: 593

Re: C言語でリソースの練習をしています

C++の<memory> というヘッダを使ってスコープから外れると自動的に解放してくれる std::unique_ptr を使います。 #include <memory> #include <type_traits> #include <cassert> #include <Windows.h> void DllCloser(HMODULE hmodule) { assert(hmodule); FreeLibrary(hmodule); } std::unique_ptr<std::remove_pointer<HMODULE>::type, decltype(&DllCloser)> dl...
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: Unity List<構造体>
返信数: 41
閲覧数: 6970

Re: Unity List<構造体>

hide さんが書きました:PLAYER_DATA_BASE <- こいつはなんですか?
その態度は何ですか。
そういうhideさんこそ質問者の立場になって考えたことがあるのですか?
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの解放のタイミング(?)
返信数: 9
閲覧数: 1031

Re: クラスの解放のタイミング(?)

BoostのSmartPtr(スマートポインター)や
<memory>ヘッダーにあるstd::shared_ptrやstd::unique_ptrを使うことでリソースを自動的に解放してくれます。

龍神録2プログラミングの館にあるプログラムが参考になると思います。

[hr]
Visual Studio 2005/2008/2010では完全にC++11に対応していませんので 代わりに Boostライブラリを使いましょう。
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: 【PHP, MySQL】日本語をデータベース格納する時に文字化けが起こる
返信数: 5
閲覧数: 1985

Re: 【PHP, MySQL】日本語をデータベース格納する時に文字化けが起こる

htmlspecialchars関数はあくまで「HTMLに出力するための専用の関数」であり、
MySQLやPostgreSQLなどのリレーショナルデータベースの入力に対して使うものでありません
また明示されたプログラムはSQLインジェクションの対策になっていません。
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください!
返信数: 11
閲覧数: 1838

Re: 教えてください!

不適切な発言だったので削除しました(管理人)
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: リソーススクリプトのコンパイルの仕方が分からない
返信数: 5
閲覧数: 873

Re: リソーススクリプトのコンパイルの仕方が分からない

GetDCで取得したデバイスコンテキストは ReleaseDC で解放しなければなりません。
CreateDCで作成したデバイスコンテキストは DeleteDC で削除しなければなりません。
ウィンドウに描画するには BeginPaintで開始し、 EndPaintで描画を終了しなければなりません。
アプリケーションは、GetDC 関数を使ってデバイスコンテキストのハンドルを取得した場合 DeleteDC 関数を呼び出してそのハンドルを削除してはなりません
代わりに、ReleaseDC 関数を呼び出してそのデバイスコンテキストを解放しなければなりません。
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: 外部DLLの参照について
返信数: 8
閲覧数: 2127

Re: 外部DLLの参照について

#import は Visual C++ の ATL(Active Template Library)プロジェクトで作られたCOM形式のDLLもしくはOCXファイルでなければ参照できません。 C#やVBのプロジェクトの設定から「アセンブリをCOM参照可能にする」にチェックを入れてビルドすれば #import が利用できます。 「Win32プロジェクト」の「ダイナミックリンクライブラリで作られたDLLは Windows APIの「LoadLibrary」「GetProcAddress」「FreeLibrary」を利用して呼び出します。 拡張子が「*.lib」のものは Visual Studio ...
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体
返信数: 8
閲覧数: 992

Re: 構造体

質問者はフォーラムルールの禁止されている事項
「自分勝手な都合で記事を削除する行為」
に違反しているため、No.1の記事を通報しました。
by naohiro19
1年前
フォーラム: C言語何でも質問掲示板
トピック: GetNowCount()で取得した数値を時分秒で表示したい
返信数: 6
閲覧数: 884

Re: GetNowCount()で取得した数値を時分秒で表示したい

変数名にマウスカーソルで当てると「型名 変数名」というように表示してくれます。
by naohiro19
2年前
フォーラム: C言語何でも質問掲示板
トピック: 解決済み
返信数: 7
閲覧数: 1829

Re: 解決済み

  • こちらから送ったプライベートメッセージに答えようとしない
  • 勝手に記事内容を削除する行為
  • フォーラムルールの無理解
質問内容を削除するなどは言語道断です。
by naohiro19
2年前
フォーラム: C言語何でも質問掲示板
トピック: windowsAPIについて
返信数: 14
閲覧数: 2020

Re: windowsAPIについて

WM_CLOSEはウィンドウの「閉じる」をマウスでクリックして送られるメッセージなのでDestroyWindowを使い、

PostQuitMessageをWM_CLOSEで送ることは間違った使い方です。通常はWM_DESTROYを受けて送信しなければなりません。
by naohiro19
2年前
フォーラム: C言語何でも質問掲示板
トピック: セーブデータの生成方法(構造体ポインターがあるやつ)
返信数: 4
閲覧数: 1489

Re: セーブデータの生成方法(構造体ポインターがあるやつ)

letsboost::serialization
上記のサイトで公開されているBoost.Serializationを使えば、シリアライズが簡単できます。
by naohiro19
2年前
フォーラム: C言語何でも質問掲示板
トピック: BCCでのDXライブラリについて
返信数: 2
閲覧数: 585

Re: BCCでのDXライブラリについて

フォーラムルールで定めている名前を変える行為は禁じられています
by naohiro19
3年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウを閉じた後のアクセス違反
返信数: 5
閲覧数: 879

Re: ウィンドウを閉じた後のアクセス違反

へにっくすさんの説明を補足すると「メモリリーク」していますね。
by naohiro19
3年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリが実行できません。
返信数: 6
閲覧数: 934

Re: DXライブラリが実行できません。

古いDXライブラリはなるべく使用しないことです。
なぜならDrawStringFormatやprintfDx等でバッファオーバーランが発生し、任意コードが実行できてしまうためです。
DXライブラリの脆弱性情報
by naohiro19
3年前
フォーラム: C言語何でも質問掲示板
トピック: LuajitでC++の構造体に代入したい
返信数: 1
閲覧数: 629

Re: LuajitでC++の構造体に代入したい

Luaには「スタック」という概念を用いて実装されます。 以下のプログラムはLuaのスタック状態を表示するものです(Win32コンソールアプリケーション限定)。 #include <lua.hpp> #include <cstdio> static void PrintStackItem(lua_State* L, int index){ switch(lua_type(L, index)){ case LUA_TNUMBER: //数値アイテムの内容表示 printf("index %2d: type = %s : %f\n", index, lua_typename(L, index), l...
by naohiro19
3年前
フォーラム: C言語何でも質問掲示板
トピック: 再帰関数を用いて奇数の合計を求める
返信数: 4
閲覧数: 684

Re: 再帰関数を用いて奇数の合計を求める

if( n % 2 == 1) で奇数
if( n % 2 == 0) で偶数
で求めることができます。
by naohiro19
3年前
フォーラム: C言語何でも質問掲示板
トピック: サウスさんのサウンドのベルのバグ(?)
返信数: 13
閲覧数: 964

Re: とんとん

タイトルが・・・(笑)
by naohiro19
3年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリが正常に終了してくれない
返信数: 7
閲覧数: 732

Re: DXライブラリが正常に終了してくれない

MILLE さんが書きました: DestoryWindow()はWM_DESTROYという命令が発行され、デフォルトの動作はSendQuitMessage()という関数を実行しています。
勘違いしていますね。正しくは「PostQuitMessage」ですよ。
by naohiro19
3年前
フォーラム: C言語何でも質問掲示板
トピック: ollydbg アニメ中とは?
返信数: 2
閲覧数: 583

Re: ollydbg アニメ中とは?

あなたのやっている行為は「電子計算機損壊等業務妨害」という犯罪です。
5年以下の懲役又は 100万円以下の罰金またはその両方が課せられます。

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