memo/program/C,C++/文字の扱い をテンプレートにして作成
ページ一覧
編集メニュー >
新規作成
編集
コピー
名前の変更
アップロード
添付ファイル一覧
バックアップ
開始行:
* 文字の扱い [#e2f7a335]
C++でやるならcharよりもstringを使ったほうが便利。たとえば
int main(int argc,char* argv[]){
string temp[100];
int i;
for (i=0;i<argc;i++)
temp[i] = argv[i];
cout<<"--- argv"<<endl;
for (i=0;i<argc;i++)
cout<<i<<" "<<&argv[i]<<" "<<argv[i]<<endl;
cout<<"--- temp (copy of argv)"<<endl;
for (i=0;i<argc;i++)
cout<<i<<" "<<&argv[i]<<" "<<argv[i]<<endl;
if (argc>1)
temp[1] = find_command(temp[1]);
cout<<"--- temp after find_command"<<endl;
for (i=0;i<argc;i++)
cout<<i<<" "<<&temp[i]<<" "<<temp[i]<<endl;
return 0;
}
のようなプログラムを考える。find_commandは文字を補完する...
> ./findcommand xs aaa
--- argv
0 0xbf99bba4 ./findcommand
1 0xbf99bba8 xs
2 0xbf99bbac aaa
--- temp (copy of argv)
0 0xbf99bba4 ./findcommand
1 0xbf99bba8 xs
2 0xbf99bbac aaa
--- temp after find_command
0 0xbf99b964 ./findcommand
1 0xbf99b968 xstatus
2 0xbf99b96c aaa
のようになる。stringでなくてcharでやるとすべて連続したメ...
終了行:
* 文字の扱い [#e2f7a335]
C++でやるならcharよりもstringを使ったほうが便利。たとえば
int main(int argc,char* argv[]){
string temp[100];
int i;
for (i=0;i<argc;i++)
temp[i] = argv[i];
cout<<"--- argv"<<endl;
for (i=0;i<argc;i++)
cout<<i<<" "<<&argv[i]<<" "<<argv[i]<<endl;
cout<<"--- temp (copy of argv)"<<endl;
for (i=0;i<argc;i++)
cout<<i<<" "<<&argv[i]<<" "<<argv[i]<<endl;
if (argc>1)
temp[1] = find_command(temp[1]);
cout<<"--- temp after find_command"<<endl;
for (i=0;i<argc;i++)
cout<<i<<" "<<&temp[i]<<" "<<temp[i]<<endl;
return 0;
}
のようなプログラムを考える。find_commandは文字を補完する...
> ./findcommand xs aaa
--- argv
0 0xbf99bba4 ./findcommand
1 0xbf99bba8 xs
2 0xbf99bbac aaa
--- temp (copy of argv)
0 0xbf99bba4 ./findcommand
1 0xbf99bba8 xs
2 0xbf99bbac aaa
--- temp after find_command
0 0xbf99b964 ./findcommand
1 0xbf99b968 xstatus
2 0xbf99b96c aaa
のようになる。stringでなくてcharでやるとすべて連続したメ...
ページ名:
and
or
Menu
kondowiki
memo
exp
link
#lsx
Counter: 0, today: 0, yesterday: 0