2

文字列と(\ n)改行を分割しようとしていますが、\nなしで新しい文字列を取得したいと思っています。コードは次のとおりです。ありがとうございます。

token = strtok(NULL,"")  

上記のスニペットは「いくつかの文字列と\n」を格納しますが、必要なのは「いくつかの文字列」だけです。

私のデータはこんな感じです。

1,v1,p1,182,1665,unkn
4

2 に答える 2

3

データが次のようになっている場合

char line[] = "1,v1,p1,182,1665,unkn\n";

あなたはこのようなことをすることができます(Cで)

char* p = line + strlen(line) - 1;
for (;*p != ','; --p) 
{
  ;
}
char* lastword = strtok(p + 1,"\n"); 
于 2012-11-16T13:26:22.327 に答える
0

あなたがしているのが最初の改行を置き換えることだけであるなら、これははるかに良いです:

char *tmp = strchr (str, '\n');
if (tmp) *tmp = 0;

文字列の最後の改行を置き換える場合は、次の方が適しています。

char *tmp = strrchr (str, '\n');
if (tmp) *tmp = 0;
于 2012-11-16T13:34:15.113 に答える