- PR -

iniファイルから文字列取得

投稿者投稿内容
sada
会議室デビュー日: 2005/10/07
投稿数: 18
お住まい・勤務地: 東京
投稿日時: 2006-01-15 11:33
C++でiniファイルのキー値を取得したいのですが、
数値であればGetPrivateProfileIntで取得できたのですが
文字列を取得できません。
GetPrivateProfileStringだと文字列の長さになってしまうし・・・

どなたか文字列の取得方法をご教授ください。
よろしくお願いします。
清華
ベテラン
会議室デビュー日: 2005/12/21
投稿数: 50
投稿日時: 2006-01-15 11:46
普通に文字列取得できますが?

ちゃんとStringBuilderで渡していますか?
_________________
9uiet Design - http://quietdesign.rental.allinoneserver.net/
デザインにこだわったソフトの配布とプログラミングTipsの公開(予定)をしています。
9uiet Blog - http://seiga.blog44.fc2.com/
笑ったことやプログラミングのことなど書
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-15 11:51
ご存知かと思いますが、INI ファイルの使用は推奨されていませんよ。

Managed なら使えないかなぁ。

  Jeanne.Ini.IniFile クラス

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
sada
会議室デビュー日: 2005/10/07
投稿数: 18
お住まい・勤務地: 東京
投稿日時: 2006-01-15 12:35
StringBuilderをつかうとなぜわたせるのでしょうか?

DWORD GetPrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpDefault,
LPTSTR lpReturnedString,
DWORD nSize,
LPCTSTR lpFileName
);

を使っていたのですができないのです(>_<)
どのようにつかうのかご教授いただけませんか?

よろしくお願いします。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2006-01-15 12:43
こんにちは。

GetPrivateProfileStringで文字列取得できるはずですよ。
ちゃんとMSDNのヘルプを確認してみてください。

コード:
#include <windows.h>
#include <tchar.h>
#include <stdio.h>

void _tmain()
{
	TCHAR szBuffer[256];
	GetPrivateProfileString(_T("SectionName"), _T("KeyName"), _T(""), szBuffer, sizeof(szBuffer) / sizeof(TCHAR), _T("test.ini"));

	_tprintf(_T("取得した文字列: %s\\n"), szBuffer);
}



test.iniファイル
コード:
[SectionName]
KeyName="1234 abcd"



引用:

じゃんぬねっとさんの書き込み (2006-01-15 11:51) より:
ご存知かと思いますが、INI ファイルの使用は推奨されていませんよ。


かなり以前からMicrosoftは、INIファイルの代わりにレジストリを使うよう推奨してますけれども
実際は、開発面でも運用面でもお手軽なINIファイルのほうを好んで使うことが結構多いですね(~_~;)

引用:

sadaさんの書き込み (2006-01-15 12:35) より:
StringBuilderをつかうとなぜわたせるのでしょうか?



多分C#のことと勘違いされたのだと思いますけれども…???
sada
会議室デビュー日: 2005/10/07
投稿数: 18
お住まい・勤務地: 東京
投稿日時: 2006-01-15 16:13
ご教授ありがとうございます。
早速試してみます。

Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2006-01-15 16:29
ちなみにここは .NET が中心の掲示板であるため、
デフォルトが .NET Framework をつかった(MC++にかんする)質問だと思われてしまいます。
# 逆に言うと、MC++でないのならば、.NET専用の掲示板に書き込むべきでないのかも。。。

引用:

sadaさんの書き込み (2006-01-15 16:13) より:

C++で


だけでは、環境がきちんと伝わるとは限りません。

最低でも、Visual C++ を使っている場合は、プロジェクトの種類等を付加したほうが良いでしょう。

例:Visual C++ Win32プログラム MFC使用
清華
ベテラン
会議室デビュー日: 2005/12/21
投稿数: 50
投稿日時: 2006-01-15 17:04
C++でと書いてありましたね、見えなかったです(ぇ

いや僕の責任、混乱させてすいませんでしたorz
_________________
9uiet Design - http://quietdesign.rental.allinoneserver.net/
デザインにこだわったソフトの配布とプログラミングTipsの公開(予定)をしています。
9uiet Blog - http://seiga.blog44.fc2.com/
笑ったことやプログラミングのことなど書

スキルアップ/キャリアアップ(JOB@IT)