你能指导我吗?我有一个文件中的字符串。当我在控制台上看到字符串时,我需要编写要更改的单词,并将结果输出到另一个文件中。例如:“你好,我的女孩”这个词我想改变“女孩”的另一个词“男孩”。我可以使用图书馆 你能告诉我可以帮助我改变这个词的算法吗?替换C中的单词
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char my_string[256];
char* ptr;
FILE *f;
if ((f = fopen("test.txt", "r"))==NULL) {
printf("Cannot open test file.\n");
exit(1);}
FILE *out;
if((out=fopen("result.txt","w"))==NULL){
printf("ERROR\n");
exit(1);
}
fgets (my_string,256,f);
printf ("result: %s\n",my_string);
ptr = strtok (my_string," ");
while (ptr != NULL)
{
printf ("%s \n",ptr);
ptr = strtok (NULL," ");
}
char old_word [10];
char new_word [10];
char* ptr_old;
char* ptr_new;
printf ("Enter your old word:\n");
ptr_old= gets (old_word);
printf ("Your old word:%s\n",old_word);
printf ("Enter new old word:\n");
ptr_new = gets (new_word);
printf ("Your new word:%s\n",new_word);
fclose(f);
fclose(out);
return 0;
}
我试图将输入字符串拆分为单词。现在是死路一条。
不错,但你必须首先要求单词替换,然后比较'ptr'和你正在寻找的单词,最后你必须'fprintf',而不是'printf'。 –
在标记字符串时,将每个生成的单词与“女孩”进行比较。如果匹配,则fprintf“boy”为result.txt,否则为fprintf这个词。确保根据需要添加空格。 – jarmod
“女孩”和“男孩”就是一个例子。我的字符串可以包含不同的wrods .. 看。我需要询问旧词和新词,所以我认为,我应该为其中一个单词创建2个指针。然后改变他们,并写在我的主要“ptr” –