c - 删除部分字符串的函数
问题描述
我需要创建一个函数来删除部分字符串。我只能使用 stdio.h 和 stdlib.h。
例如:我有这个字符串:“ Dad and mom /* and sister */ are at home
”。我需要删除以 . 开头/*
和结尾的部分*/
。所以结果将是“ Dad and mom are at home
”。
解决方案
C 并没有真正的“字符串”作为您可以使用的类型。相反,C“字符串”是一个概念——内存中的字符序列,以 NUL 字符结尾。因此,要对字符串做任何事情,您需要了解内存管理。
通常,初级程序员(和示例)使用固定大小的数组以及静态(常量)字符串和假定适合的固定大小数组中的字符串混合(您应该始终检查)。
所以在你的情况下,你只是说你“有一个字符串”——但不要说你如何或在哪里“拥有”它。如果您将它放在足够大的内存缓冲区中以容纳它,那么您可以修改缓冲区以包含(较短的)所需字符串。或者你可以将它复制到另一个足够大的缓冲区来保存修改后的字符串。这将是两个非常不同的 C 函数,它们都可以描述为“删除字符串的一部分”
推荐阅读
- c - 获取 MacOS 进程 pid
- android - 如何在课堂上使用 Shared Preferences 来设置所有活动?
- ios - 从弹出窗口呈现自定义弹出窗口然后关闭第一个弹出窗口会导致闪烁
- azure - 如何使用 ARM 模板续订 SSL 证书?
- javascript - Uncaught TypeError: Object(...) is not a function at eval (global-styles.js)
- java - Vertx:在顶点之间传递额外的变量
- visual-studio-code - VS Code:如何将多行注释设为右键菜单项?
- powershell - 如何修复 psexec 不在 VM 上运行 PowerShell 脚本?
- dart - 列中 RaisedButton 小部件之间出现不需要的空间
- ios - 为另一个节点使用灯光后保持原始节点照明