我正在尝试拆分我的字符串和 (\n) 新行,并希望在没有 \n 的情况下获取新字符串。我的代码如下。谢谢。
token = strtok(NULL,"")
上面的代码片段将存储“一些字符串和\n”,因为我只需要“一些字符串”。
我的数据看起来像这样。
1,v1,p1,182,1665,unkn
如果您的数据看起来像这样
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");
如果您所做的只是替换第一个换行符,那么这会好得多:
char *tmp = strchr (str, '\n');
if (tmp) *tmp = 0;
如果您要替换字符串中的最后一个换行符,那么这会更好:
char *tmp = strrchr (str, '\n');
if (tmp) *tmp = 0;