c - 在 C 中替换字符串中的字符并随后取消替换的最佳方法

标签 c string replace character quote

我知道这个问题很愚蠢,但由于发送给它的文本中有数百万个单引号,我们的程序崩溃了。文本确实再次由 perl 调用处理并返回。所以我想在调用 perl 之前用一些字符替换单引号,并在 perl 函数返回后取消替换它。执行此操作的最佳方法是什么,因为如果我替换为 # 或 @ 等字符,然后将它们替换回引用可能会导致问题(如果它们包含在原始文本中),那么可以用作替换的最佳模式是什么?

 replace("'", "<something>")

某物可以是字符串......

最佳答案

char * bkpstr = strdup( originalString );
for ( char * ptr = originalString; *ptr; ptr++)
{ 
    if ('\'' == *ptr) { *ptr = REPLACEMENT_CHAR; } 
}

然后在需要原始文件时使用 bkpstr。

关于c - 在 C 中替换字符串中的字符并随后取消替换的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21891470/

相关文章:

CUPS打印文件段错误

java 正则表达式 : capitalize words with certain number of characters

unix - 用空格替换所有逗号 - S/R 用 Unix 命令?

javascript - 是否可以编写短正则表达式来替换函数

javascript - 使用 JavaScript 将每个数组元素的首字母大写

c - C语言中的键值对

c - 如何用 kevent() 替换 select() 以获得更高的性能?

c - 在不传递参数数量或最终参数的情况下在 C89 中使用可变参数函数?

java -\n 位于字符串中的什么位置?

c++ - 字符串和输入文件,从包含字符串的 txt 文件中分配几个变量值