首页 > 解决方案 > 删除部分字符串的函数

问题描述

我需要创建一个函数来删除部分字符串。我只能使用 stdio.h 和 stdlib.h。

例如:我有这个字符串:“ Dad and mom /* and sister */ are at home”。我需要删除以 . 开头/*和结尾的部分*/。所以结果将是“ Dad and mom are at home”。

标签: cstringsubstring

解决方案


C 并没有真正的“字符串”作为您可以使用的类型。相反,C“字符串”是一个概念——内存中的字符序列,以 NUL 字符结尾。因此,要对字符串做任何事情,您需要了解内存管理。

通常,初级程序员(和示例)使用固定大小的数组以及静态(常量)字符串和假定适合的固定大小数组中的字符串混合(您应该始终检查)。

所以在你的情况下,你只是说你“有一个字符串”——但不要说你如何或在哪里“拥有”它。如果您将它放在足够大的内存缓冲区中以容纳它,那么您可以修改缓冲区以包含(较短的)所需字符串。或者你可以将它复制到另一个足够大的缓冲区来保存修改后的字符串。这将是两个非常不同的 C 函数,它们都可以描述为“删除字符串的一部分”


推荐阅读