披露:这是大学作业。我不期望代码来完成我的任务,而是我想了解如何最好地在 C 中操作字符串。
我需要编写一个函数以某种方式操作字符串(我没有说什么以确保没有人提供确切的代码)。
在 python 中,我将执行以下操作
def foo(str):
return str
显然事情不像在 C 中那么容易。
谁能告诉我如何最好地实现这一目标。我应该使用指针来模拟按引用传递并只操作原始字符串吗?任何帮助/资源将不胜感激。
更新:我确实想对字符串执行操作并返回该操作的结果(也是一个字符串)。我很乐意操纵原始字符串或返回它。哪个将被视为最佳实践。
我设置的任务是基于如何执行该操作,所以我不想明确说明。
所以 Python 将是:
def foo(str):
#do something to str (which doesn't change it's length)
return str
最佳答案
有两种方式:
- 如果您操作原始字符串,则不需要返回任何内容
- 如果您不想更改原始字符串,您应该使用
strdup
或malloc + strcpy
复制它并返回一个指针 (char *
) 到它。调用者当然必须在完成后释放
它。
一切都取决于这个问题:调用者是否需要原始字符串?
关于c - 在 C 中操作字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7813441/