我正在尝试创建一个替换单词的函数。它还支持来自用户的多个参数(单词)。例如,我们有一个名为“fesf”的文本文件,其中包含以下内容:“这是一个测试。”当我们输入
./ a.out test is< fesf.txt
它应该在fesf.txt中用“censor”替换“test”和“is”。 (注意新行,排列应该与原始文件相同,只替换单词)。我创建了这个函数,但不知何故它不起作用。返回时,它不会替换参数。它只打印原始文本。
这是功能:
#include <stdio.h>
#include <string.h>
int main (int argc, char* argv[])
{
int i, j,c, state, wordlen, counter, found;
char word[128];
state = 0;
wordlen = 0;
while (( c= getchar())!= EOF) {
if ((c >= 'A' && c <= 'Z') || (c == 39))
{
state =1;
word[wordlen] = c;
wordlen++;
}
else if (state == 1)
{
state =0;
found =0;
}
答案 0 :(得分:1)
第一个if
需要捕获大写和小写字母。一种方法是
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c == 39))