【发布时间】:2014-08-13 02:16:05
【问题描述】:
我正在尝试编写一个命令来替换文件中的字符。例如, ./replace E XY hello.txt [b]hello.txt [/b] 包含单词 [b]HELLO WORLD[/b]。字母 E 将替换为 XY。 因此,HELLO WORLD 将变为 HXYLLO WORLD。 我已将文件读入 char buf[100]
0 1 2 3 4 5 6 7 8 9 10
[H]-[E]-[L]-[L]-[O]-[]-[W]-[O]-[R]-[L]-[D]
我想说:
If buf[x] == argv[1],
then buf[x] = argv[2]
其中 x 是特定的缓冲区元素(在本例中为 buf[1] == argv[1])。
我收到此错误:assignment make integer without cast。
如何将缓冲区中的元素与参数向量进行比较??
【问题讨论】:
-
您的语法可以修复以解决类型问题,但您的算法非常不完整。例如,您需要遍历参数并向 argv 添加另一个下标: (buf[x] == argv[1][n])。
标签: linux character buffer argv