strok
C++ を使用して関数を使用してサンプル文字列を分割する必要があります。サンプル文字列は次のとおりです。通常、"This|is||a||sample||string|"
これを使用して分割します。strok
#include <stdio.h>
#include <string>
#include <string.h>
using namespace std;
int main()
{
string str="This||a||sample||string|";
string a;
str=strtok ((char *)str.c_str(),"|");
while (str.c_str() != NULL)
{
printf ("str:%s\n",str.c_str());
str = strtok (NULL, "|");
}
return 0;
}
結果:
str:This
str:a
str:sample
str:string
同じ文字列をに変更すると"This| |a| |sample| |string|"
、期待される結果が得られます。
str:This
str:
str:a
str:
str:sample
str:
str:string
文字列を変更せずに期待される結果を得るにはどうすればよいですか?