The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > 高レベルのプログラミング
Googleのunix.com



高レベルのプログラミング は、 C 、 C + +についての質問の投稿は、 Java 、 SQL 、および他のプログラミング言語です。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
プログラムが別のプログラムの実行をトレースする jiten_hegde 高レベルのプログラミング 3 2008年8月19日 05:26午前
strtok同等ではperl jisha シェルプログラミングとスクリプティング 1 2008年5月6日 03:38午前
Regardign strtok ( ) 2 - Dの文字列配列に出力演出 SankarV 高レベルのプログラミング 3 2008年4月28日 09:48午前
Strtok機能.... Tanvirk リナックス 3 2008年1月24日 10:16午前
strtokよりも良い方法ですか? アニー 高レベルのプログラミング 7 2005年10月5日 02:01午後

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2008年10月4日
sathishkmrv sathishkmrv is offline
登録ユーザー
  
 

参加日: 2007年9月
投稿数: 6
どのように2回、同じプログラムでstrtokを使用するか?

コード:
       string str1(" 1 2 3 4 512543 ");
                 string str2;
                 if(str2.empty())
                        str2=str1;
                cout << "str2:" <<str2 <<endl;
                p1=strtok((char *)str1.c_str()," ");
                while(p1)
                {
                        v1.push_back(atoi(p1));
                cout << "val of p1 " << p1 << endl;
                 p1=strtok(NULL," ");
                }
                cout << "size of v1 " << v1.size() <<endl;
                p2=strtok((char *)str2.c_str()," ");
                cout << "str2:" <<str2 <<endl;
                while(p2)
                {
                        v2.push_back(atoi(p2));
                        cout << "val of p2 " << p2 <<endl;
                        p2=strtok(NULL," ");
                }

                cout << "size of v2" << v2.size() <<endl;
のI / p.の次または取得

コード:
str2: 1 2 3 4 512543 
val of p1 1
val of p1 2
val of p1 3
val of p1 4
val of p1 512543
size of v1 5
str2: 1234512543
val of p2 1
after tok p2  
size of v21
また、トークンがstr2二つします。 strtokがNULLに達した後は一度だけ毎回NULLポインタを使用してアクセスしているときはNULLを返す。

str2二つのトークンはどのようにすることができますか?

ありがとう
  #2固定リンク)  
Old 2008年10月4日
恐るべき redoubtable is offline
登録ユーザー
  
 

参加日: 2008年8月
場所:ポルトガル
投稿数: 242
私はあなたの問題( ) strtokを使用することの必要性を理解することはありません。いずれにせよ、その答えは、 strtok ( 3 )のマニュアルは、すべてを超えています:
引用:
バグ
これらの関数を使用しないでください。場合は、それらを使用すればよいことに注意して:

これらの関数は、最初の引数を変更します。

これらの関数を文字列定数を使用することはできません。

は、区切り文字の同一性が失われます。

解析中なので、スレッドセーフではないのstrtok ( )関数は、静的なバッファを使用しています。使用strtok_r ( )の場合は、この問題ではない。
あなたのコードを動作させるためには、コンパイラはこのようにトリックでした:
コード:
// ...
       string str1(" 1 2 3 4 512543 ");
                 string str2;
                 if(str2.empty())
                 {
                        str2=str1;
                        str2.insert(0, ""); // now, you tell me why this apparently solves your problem!
                 }
                cout << "str2:" <<str2 <<endl;
                p1=strtok((char *)str1.c_str()," ");
// ...
  #3固定リンク)  
Old 2008年10月4日
sathishkmrv sathishkmrv is offline
登録ユーザー
  
 

参加日: 2007年9月
投稿数: 6
どのように2回、同じプログラムでstrtokを使用するか?

はい。うまくいった!
しかし、どうしたの挿入
コード:
str2.insert(0, "");
この問題を解決?
このマニュアルはまた、それを使用することをお勧めではない示唆している。
  #4固定リンク)  
Old 2008年10月7日
Saurabh78 Saurabh78 is offline
登録ユーザー
  
 

参加日: 2004年6月
投稿: 40
より有効に利用strtok_r
Closed Thread

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 02:35午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0