bash readline .inputrc

# http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html
set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set kanji-code sjis
set visible-stats on

#Control-a:beginning-of-line
Control-d:delete-char
Control-u:kill-whole-line
TAB:menu-complete
Control-g:insert-completions
# C-x C-r で .inputrc 再読み込み
"\C-x\C-r":re-read-init-file
#TAB:complete  : リストするだけ
# possible-completions  : 下に候補のリストを表示する
# insert-completions : 候補全てで置き換える
# menu-complete : 1つずつ候補を回っていく
DEL:delete-char

std::string

703 :デフォルトの名無しさん :2005/04/03(日) 18:55:51
文字列をstd:stringなどを使いたいのですが、std::stringはどうもUNICODE環境をサポートしていないようです。
例えばFindWindowへの引数などに使いたいのですが、std::string以外に扱いやすい文字データ型はないでしょうか?


704 :デフォルトの名無しさん :2005/04/03(日) 20:43:47
CString


705 :デフォルトの名無しさん :2005/04/03(日) 20:45:09
>>703
std::wstring


706 :デフォルトの名無しさん :2005/04/03(日) 20:46:35
>>703
std::basic_string
俺はusingも兼ねてtypedef std::std::basic_string tstring;として使っている。

std::stringはstd::basic_stringからのtypedef。
ちなみにstd::wstringもある。もちろんstd::basic_stringからのtypedef

std::stringに split を実装する
http://www11.ocn.ne.jp/~ikalu/cplus/5001.html
STLのよさげな解説ページ
http://www.wakhok.ac.jp/~sumi/stl/

CListCtrl ソートする方法

// sortparam.h ----------------------------------------------------------------
class CSortParameter
{
public:
	CSortParameter() {
		m_bSort = TRUE;
	}
	virtual ~CSortParameter();

	BOOL m_bSort;	//!< 昇順降順のフラグ
	int m_nIndex;	//!< ソートするIndexの番号
};

// dlllistdlg.h
CDllListDlg に以下を追加
	static int CALLBACK CompareData(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); 
	CSortParameter m_sortParam;	//! ソートの方法を指定する

// dlllistdlg.cpp--------------------------------------------------------------

	//CDllListDlg::OnInitDialog()にて---------------------------------------------------------------------------- 

	for (int i=0; i<pApp->m_pluginsInfo.size(); i++) {
		m_dllList.InsertItem(LVIF_TEXT | LVIF_PARAM, i, pApp->m_pluginsInfo.at(i).filename,
			0, 0, 0, (LPARAM)&(pApp->m_pluginsInfo[i]));
		m_dllList.SetItem(i, 1, LVIF_TEXT, pApp->m_pluginsInfo[i].supportedTypes, 0, 0, 0, 0);
		m_dllList.SetItem(i, 2, LVIF_TEXT, pApp->m_pluginsInfo[i].filetime, 0, 0, 0, 0);
	}


/**************************************************************************//**
    @par        説明
				2つの値を比較する。
	@param lParam1	入力値1
	@param lParam2	入力値2
	@param lParamSort 関数内部で任意に使えるvoidポインタ
*1113878543*//***************************************************************************/
int CDllListDlg::CompareData(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
	int result = 0;

	PluginInfo* d1 = (PluginInfo*)lParam1;
	PluginInfo* d2 = (PluginInfo*)lParam2;

	CSortParameter* sortParam = (CSortParameter*)lParamSort;

	if (sortParam->m_nIndex == 0) {
		result = strcmp(d1->filename, d2->filename);
	}
	else if (sortParam->m_nIndex == 1) {
		result = strcmp(d1->supportedTypes, d2->supportedTypes);
	}
	else if (sortParam->m_nIndex == 2) {
		result = strcmp(d1->filetime, d2->filetime);
	}

	if (sortParam->m_bSort) {
		result *= -1;
	}

	return result;
}

/**************************************************************************//**
    @brief      リストのヘッダをクリックしたとき呼ばれる。
    @par        説明
				リストのヘッダをクリックしたとき呼ばれる。
				リストのアイテムをソートする。
	@param pNMHDR クリックされたヘッダの情報
	@param pResult よくわからない
*1113878544*//***************************************************************************/
void CDllListDlg::OnColumnclickList3(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください

	// 何列目がクリックされたか取得
	m_sortParam.m_nIndex = pNMListView->iSubItem;

	// ソートを行う
	m_dllList.SortItems(CompareData, (DWORD)&m_sortParam);

	// 次回は昇順・降順を逆にする
	m_sortParam.m_bSort = !m_sortParam.m_bSort;

	*pResult = 0;
}

C言語用小物ツールいろいろ

http://www.linuxlinks.com/Software/Programming/Development/Tools/Code_Management/index.shtml
http://www.gtlib.cc.gatech.edu/pub/Linux/devel/lang/c/

-
!INDEX 20-Oct-2004 10:09 7.6K
!INDEX.html 20-Oct-2004 10:09 24K
!INDEX.short.html 20-Oct-2004 10:09 10K
Checker-0.8.1.lsm 05-Nov-1996 03:58 785
Checker-0.8.tgz 15-Oct-1996 07:21 553K
Checker-libs-0.8.1.tgz 05-Nov-1996 03:57 1.5M
Checker.lsm 12-Dec-1994 10:42 859
ElectricFence-2.0.5.lsm 31-Jan-1995 10:16 475
ElectricFence-2.0.5...> 31-Jan-1995 10:16 24K
Erltools-2.00.lsm 29-May-1998 06:17 1.6K
Erltools-2.00.tgz 29-May-1998 06:44 1.9M
GCC/ 01-Jun-2003 17:37 -
atac_951230.lsm 31-Dec-1995 12:50 835
atac_951230.tgz 31-Dec-1995 12:50 436K
bb_threads_0.4.tar.gz 02-Oct-1996 17:12 7.4K
c-bat-0.1n.tar.gz 24-Jun-1994 09:04 113K
c-bat-cc-2.5.8.tar.gz 24-Jun-1994 09:04 696K
c-bat.lsm 24-Jun-1994 09:04 1.3K
c_count-7.0.tgz 21-May-1995 19:15 35K
c_count.lsm 21-May-1995 19:15 470
calls.tar.Z 05-Sep-1992 21:19 44K
calltree-2.0.lsm 10-Feb-1999 11:11 672
calltree-2.0.tar.gz 10-Feb-1999 11:11 157K
ccmalloc-0.2.3.lsm 27-May-1998 16:28 699
ccmalloc-0.2.3.tar.gz 27-May-1998 16:29 55K
cdecl-2.5.bin.ELF.ta..> 26-Jan-1996 00:37 57K
cdecl-2.5.lsm 28-Jan-1996 21:32 1.1K
cdecl-2.5.tar.gz 26-Jan-1996 00:36 21K
cephes-math-28.lsm 04-Jun-2000 17:05 1.6K
cephes-math-28.tar.gz 04-Jun-2000 17:05 1.7M
cflow-2.0.tar.gz 06-Mar-1995 19:10 20K
cflow.lsm 06-Mar-1995 19:10 547
cgihtml-1.66.tar.gz 03-Feb-1997 03:10 24K
cgihtml.lsm 03-Feb-1997 03:10 949
clig-1.1.3.tar.gz 09-Jul-1999 03:58 35K
clig.lsm 09-Jul-1999 03:57 1.4K
clone-glue.c 20-Jan-1995 08:14 7.3K
cmix-2.0.10-doc.tar.gz 15-Dec-1999 10:51 551K
cmix-2.0.10-src.tar.gz 15-Dec-1999 10:51 589K
cmix-2.0.12-doc.tar.gz 14-Aug-2000 10:57 555K
cmix-2.0.12-src.tar.gz 14-Aug-2000 10:57 587K
cmix.lsm 14-Aug-2000 10:57 1.0K
coro-1.0.3.lsm 26-Feb-1999 18:13 425
coro-1.0.3.tar.gz 26-Feb-1999 18:13 22K
cpost.lsm 26-Apr-1996 13:20 500
cpost.tar.gz 26-Apr-1996 13:20 39K
cproto-4.6.lsm 31-Jan-1998 10:40 1.0K
cproto-4.6.tar.gz 31-Jan-1998 10:40 121K
cstrings-2.3-1.i386.rpm 29-Dec-2003 03:24 18K
cstrings-2.3-1.src.rpm 29-Dec-2003 03:24 15K
cstrings-2.3.tar.gz 29-Dec-2003 03:24 12K
cstrings.lsm 29-Dec-2003 03:24 734
ctags-4.0.1.lsm 28-Jun-2000 01:57 867
ctags-4.0.1.tar.gz 28-Jun-2000 01:57 148K
ctags-5.2.lsm 23-Dec-2001 23:31 756
ctags-5.2.tar.gz 23-Dec-2001 23:31 216K
cutils-1.6.lsm 15-Jul-2001 11:29 465
cutils-1.6.tar.gz 15-Jul-2001 11:30 126K
cvi-1.3.2.tar.gz 05-Nov-1999 10:27 29K
cvi.lsm 05-Nov-1999 10:27 720
cxref-1.6.lsm 19-Oct-2004 13:37 1.2K
cxref-1.6.tgz 19-Oct-2004 13:37 383K
dcethreads-1.0.lsm 01-Jul-1996 00:30 1.1K
dcethreads-1.0.tar.gz 01-Jul-1996 00:31 57K
erltools-3.0.0.lsm 24-Oct-2000 18:39 1.8K
erltools-3.0.0.tar.gz 24-Oct-2000 18:54 2.0M
exc-1.0.lsm 15-May-1995 18:14 429
exc-1.0.tar.gz 15-May-1995 18:14 26K
forint-0.5.4.lsm 21-Jan-2001 11:33 1.9K
forint-0.5.4.tar.gz 21-Jan-2001 11:33 273K
gcc-2.8.1.tar.gz 22-Jul-1999 08:53 8.1M
hp48cc-1.3.lsm 19-Aug-2001 12:44 424
hp48cc-1.3.tar.gz 19-Aug-2001 12:44 38K
lcc-3.5-linux-bin.ta..> 16-Aug-1996 11:36 137K
lcc.lsm 16-Aug-1996 11:36 511
lclint-2.2a.common-m..> 12-Sep-1996 12:58 117K
lclint-2.2a.common.t..> 12-Sep-1996 13:01 727K
lclint-2.2a.linux-el..> 12-Sep-1996 13:02 436K
lclint-2.2a.lsm 12-Jul-1997 09:59 1.3K
lclint-2.2a.src.tar.gz 12-Sep-1996 13:06 1.7M
memwatch-2.60.tar.gz 11-Jun-1999 11:09 28K
memwatch.lsm 11-Jun-1999 11:09 481
mpatrol.lsm 10-Jan-2002 06:45 1.6K
mpatrol_1.4.8.tar.gz 10-Jan-2002 06:44 4.2M
mph-1.2.lsm 08-May-1998 22:17 586
mph-1.2.tar.gz 08-May-1998 22:17 22K
mpr-2.7-1.i386.rpm 03-Jan-2004 02:51 96K
mpr-2.7-1.src.rpm 03-Jan-2004 02:51 183K
mpr-2.7.lsm 03-Jan-2004 02:51 721
mpr-2.7.tar.gz 03-Jan-2004 02:51 175K
proto.lsm 15-Dec-1998 18:13 504
proto.tar.gz 15-Dec-1998 18:13 14K
pthd-0.7.lsm 12-Jul-1997 09:56 1.4K
pthd-0.7.tgz 16-Aug-1995 02:55 93K
pthd_v06.lsm 12-Jul-1997 09:55 1.0K
pthd_v06.tgz 13-Jul-1995 08:15 64K
pthreads-1.0.lsm 01-Jul-1996 00:31 864
pthreads-1.0.tar.gz 01-Jul-1996 00:31 116K
pthreads.ps.Z 30-Aug-1998 22:12 215K
rekerlib-0.2.0.lsm 12-Oct-1999 18:22 480
rekerlib-0.2.0.tgz 12-Oct-1999 18:22 21K
rip154.tar 23-Jun-1994 16:24 600K
rip154.tar.lsm 23-Jun-1994 16:24 316
rsm_402.lsm 15-Aug-1998 19:51 1.5K
rsm_402.tar.gz 15-Aug-1998 19:53 482K
rsm_402_1.lsm 20-Aug-1998 05:20 1.5K
rsm_402_1.tar.gz 20-Aug-1998 05:23 481K
scpp-0.1.lsm 27-Jul-1998 18:28 405
scpp-0.1.tgz 27-Jul-1998 18:28 30K
selfdir.lsm 02-Nov-1994 12:47 841
selfdir.tgz 02-Nov-1994 12:47 11K
shaman-0.1.10.lsm 09-Mar-1998 17:05 878
shaman-0.1.10.tar.gz 12-Mar-1998 02:53 204K
swig-1.0-1.i386.rpm 04-Sep-1996 09:12 286K
swig-1.0-1.src.rpm 04-Sep-1996 09:12 474K
swig-1.0.ELF.tgz 04-Sep-1996 09:13 127K
swig-1.0.lsm 04-Sep-1996 09:13 1.3K
swig-1.0.src.tgz 04-Sep-1996 09:13 469K
valgrind-20020315b.t..> 16-Mar-2002 09:19 280K
valgrind.lsm 12-Mar-2002 21:31 445
vxp.COPYRIGHT 17-May-1995 16:44 1.2K
vxp.README 17-May-1995 16:44 3.4K
vxp2.0.Linux.gz 17-May-1995 16:15 60K
vxp2.0.Linux.static.gz 17-May-1995 16:37 710K
vxp2.0.LinuxR6.gz 17-May-1995 16:42 56K
vxp2.0.LinuxR6.stati..> 17-May-1995 16:50 924K
vxp_Guide.ps.tar.gz 17-May-1995 16:42 29K
vxp_Samples.tar.gz 17-May-1995 16:55 9.6K
vxp_Tutorial.ps.tar.gz 17-May-1995 16:43 69K
xw2.0.lsm 20-Mar-1995 15:07 686
xw2.0.tar.gz