【问题标题】:How do I get a substring in C? [closed]如何在 C 中获取子字符串? [关闭]
【发布时间】:2016-07-24 08:08:22
【问题描述】:

例如,如果:

z = "xxxx; yyyy";

我怎样才能得到子字符串,以便

x = "xxxx"

y = "yyyy"

其中“xxxx”和“yyyy”可以是任意长度的任意字符串?

【问题讨论】:

  • 在我看来,这并不算太宽泛,根据近距离投票。但这符合反对票的标准,“没有表现出研究努力”。在谷歌上简单搜索 C 和子字符串应该会找到大量答案。
  • 你是问如何以';'为分隔符分割字符串?

标签: c string substring


【解决方案1】:

在 C 中你没有得到太多的内置字符串,更不用说子字符串了。当您需要一个子字符串时,您可以通过将字符串的相关部分复制到正确分配的内存缓冲区中来自己构建它,然后以空值终止结果。

这是一个例子:

char *c = "xxxx; yyyy";
char x[5], y[5];
memcpy(x, &c[0], 4);
x[4] = '\0';
memcpy(y, &c[6], 4);
y[4] = '\0';

Demo.

【讨论】:

  • 'C 中没有太多内置字符串,更不用说子字符串了'——我希望你不要这么说。绝对正确,但就是这样,拼出来的时候很郁闷:((.
  • @MartinJames 我最喜欢的一句话是“C 结合了汇编语言的强大功能和性能以及汇编语言的灵活性和易用性。”当然,这是个玩笑,但每个玩笑都带有一丝玩笑[原文如此]。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-30
  • 2017-10-29
  • 1970-01-01
  • 2014-03-20
  • 2011-10-04
相关资源
最近更新 更多