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 回答