この記事は2019年02月21日に投稿しました。
目次
- 作者: 堀義博
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/17
- メディア: Kindle版
- この商品を含むブログを見る
1. はじめに
こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用しているMFCで可変長引数を使用する方法についてです。
2. MFCで可変長引数を使用する
MFCで可変長引数を使用する方法ですが、以下のような処理になります。
#include "stdafx.h" #include <afxwin.h> // 可変長引数を1つの文字列に整形する際使用するバッファサイズ #define BUFFER_SIZE (1024) /** * @brief 可変長引数を1つの文字列にして返却します。 * * @param [in] fmt フォーマット文字列 * @param [in] ... 可変長引数 * @return 1つにまとまった文字列 */ CString GetMessage(CString fmt, ...) { // 可変長引数を1つの文字列にまとめます。 va_list args; va_start(args, fmt); TCHAR buffer[BUFFER_SIZE + 1]; ZeroMemory(&buffer[0], sizeof(buffer)); _vstprintf(buffer, sizeof(buffer), fmt, args); va_end(args); return buffer; }
使用例
#include "stdafx.h" #include <afxwin.h> int main(void) { CString fmt = _T("%s"); CString msg = GetMessage(fmt, _T("Hello World")); OutputDebugString(msg); return 0; }
3. おわりに
今回の可変長引数は、このあと紹介するログ出力の処理で使用しました。
標準講座MFC6.0―Visual C++による効率的なWindowsプログラミング (Programmer’s SELECTION)
- 作者: ハーバートシルト,田中正造,Herbert Schildt,コスモワークス
- 出版社/メーカー: 翔泳社
- 発売日: 1999/04/01
- メディア: 単行本
- 購入: 11人 クリック: 39回
- この商品を含むブログ (4件) を見る
紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッドOS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOSモバイルアプリやウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688