Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何在标记后复制字符串的一部分_C_String_Copy_Token - Fatal编程技术网

C 如何在标记后复制字符串的一部分

C 如何在标记后复制字符串的一部分,c,string,copy,token,C,String,Copy,Token,如何在标记后复制字符串的一部分 我有这个输入 微软公司;纳斯达克MSFT 259.94B 如何将字符串中从NASDAQ开始的部分复制到字符串的末尾,这里的标记是分号 你喜欢这个工作吗 strcpy(tempString, strtok(buffer, ";")+4) 类似于您的代码可以工作。我不理解+4,但就我而言,它应该是+2。另外,不要使用strtok()查找字符串中的字符-使用strchr()这样做,它更轻量级,并且不需要修改基字符串 所以 还是更安全 snprintf(tmp, siz

如何在标记后复制字符串的一部分

我有这个输入

微软公司;纳斯达克MSFT 259.94B

如何将字符串中从NASDAQ开始的部分复制到字符串的末尾,这里的标记是分号

你喜欢这个工作吗

strcpy(tempString, strtok(buffer, ";")+4)
类似于您的代码可以工作。我不理解
+4
,但就我而言,它应该是
+2
。另外,不要使用
strtok()
查找字符串中的字符-使用
strchr()
这样做,它更轻量级,并且不需要修改基字符串

所以

还是更安全

snprintf(tmp, sizeof tmp, "%s", strchr(buffer, ';') + 2);
是您正在寻找的。

类似于您的代码可以工作。我不理解
+4
,但就我而言,它应该是
+2
。另外,不要使用
strtok()
查找字符串中的字符-使用
strchr()
这样做,它更轻量级,并且不需要修改基字符串

所以

还是更安全

snprintf(tmp, sizeof tmp, "%s", strchr(buffer, ';') + 2);

是的,我在发布这个问题后运行了代码。

strcpy(tempString,strtok(buffer,“;”)+4)不起作用,我应该如何复制字符串的一部分?@blubk Define“不起作用”。您可以随时运行代码并对其进行测试。是的,我在发布此问题后运行了代码。
strcpy(tempString,strtok(buffer,;”)+4)
无效,我应该如何复制部分字符串?@blubk Define“无效”。谢谢,我忘记了strchr,因为使用strtok修改字符串使其读取错误的字符串data@Jim它甚至比strcpy()更糟糕。如果我们是安全怪胎(为什么不呢),那么
snprintf(tmp,sizeof tmp,“%s”,strchr())
是正确的解决方案。安全怪胎有一个缺点。@Jim?人们将无法使你的程序缓冲区溢出?或者wat?@Jim,关于“更慢”:今天请不要过早优化,kthxbye。谢谢,我忘记了strchr,因为使用strtok修改字符串使其读取错误data@Jim它甚至比strcpy()更糟糕。如果我们是安全怪胎(为什么不呢),那么
snprintf(tmp,sizeof tmp,“%s”,strchr())
是正确的解决方案。安全怪胎有一个缺点。@Jim?人们将无法使你的程序缓冲区溢出?还是wat?@Jim,至于“更慢”:请不要再过早优化了,kthxbye。