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