0

文字ポインター変数に値があり、その値は動的に変更されます。

例えば

one case:
   char *ptr = sometext || abc.txt;

second case:
   char *ptr = abc.txt || sometext;

別の変数にはファイル名だけが必要です。str = abc.txt

現在、私はコードを使用しています:

CString str;
char* lpszToToken = stLine.GetBuffer(stLine.GetLength());
char* lpszToken = strtok(lpszToToken, "|");
while(lpszToken != NULL)
{
   lpszToken = strtok(NULL, "|");
   str = lpszToken;
}

しかし、それは最初のケースでのみ機能します:両方のケースで実行するには汎用コードが必要です ありがとう、

4

2 に答える 2

0

CString を使用できるので、CString::Find または CString::Tokenize を使用できます。

于 2013-07-15T13:28:58.050 に答える
0

私のCは錆びていますが、次のようなものではありません:

char* fname = strtok( fileNames, "|");
while (fname != NULL) {
    // do something with the file here..
    processFile( fname);             
    fname = strtok( NULL, "|");         // next.
}

また、ハンガリー語の表記法は恐ろしいプログラミング方法です。ほとんどの意味を効果的に隠して難読化し、明確で単純な問題を不透明で見苦しくします。あなたが提供したgackと比較して、私の例がどれほど読みやすいか見てください。

残念ながら、あなたのインストラクター (およびペツォルド) は、あなたにこれを教えていると誤解していました。代わりに「読み書きのできる」コードを書くことをお勧めします。

見る:

于 2013-07-15T09:01:46.183 に答える