-3

我必须从控制台读取一些文本,然后在该字符串中搜索文本“simple”。我有:

char Buffer[200];
cin >> Buffer; //read text form keybord

char str[] = Buffer;
char * pch;
pch = strstr (str,"simple");
strncpy (pch,"sample",6);
puts (str);

如何转换Buffer[200]str[]使程序正常工作。

4

1 回答 1

5

如果你坚持使用 C 风格的字符串,你可能想要这样的东西:

char Buffer[200];
cin >> Buffer; //read text form keybord

char *pos = strstr(buffer, "simple");
if (pos) {
    buffer[1] = 'a';
    puts(buffer);
}

如果你想编写实际的 C++,你可能会做更多类似的事情:

std::string buffer;

std::getline(std::cin, buffer);

int pos;

if ((pos=buffer.find("simple")) !=std::string::npos)
    buffer[pos+1] = 'a';

std::cout << buffer;
于 2012-12-01T22:34:19.083 回答