-1

我需要通过使用指针输入字符串来用“-”(破折号)替换空格。

输入应如下所示:

天是蓝的

输出 :

天是蓝的

我在编译编码和开始工作时遇到问题。

    #include <stdio.h>
#include <string.h>
#include <stdlib.h>
char result;

int main()
{
    char string[100], *space;
    {
    printf("Enter a string here: \n"); //Enter a string in command prompt
    gets(string); //scans it and places it into a string
    space = string;
    printf("%s\n", space);
    result = space.Replace(" ", "-");
    }
    getchar();
}
4

2 回答 2

2

在 C 和 C++ 中,chars 或char*没有成员函数。相反,您将std::replace()在 C++ 中使用:

std::replace(string, string + strlen(string), ' ', '-');

在下面的评论之后:如果你不能使用std::replace(),这里是具有相同效果的代码:

while (*space == ' '? (*space++ = '-'): *space++);
于 2013-11-13T23:32:59.883 回答
0
#include <stdio.h>
#include <conio.h>
#include <string.h>

int main()
{
    char string[100], *space;
    {
    printf("Enter a string here: \n"); //Enter a string in command prompt
    gets(string); //scans it and places it into a string
    space = string;

    while (*space == ' '? (*space = '-'): *space++);
    printf("%s\n", space);
    }
    getchar();
}

做了你的建议,但它仍然不起作用。它确实编译

于 2013-11-13T23:59:37.177 回答