使用指针用短划线符号替换输入中的空格

时间:2013-11-13 23:31:15

标签: c++

我需要使用指针输入一个字符串,用“ - ”(短划线符号)替换空格。

输入应如下所示:

  

天空是蓝色的

输出:

  

在天空-是蓝色

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

    #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();
}

2 个答案:

答案 0 :(得分:2)

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

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

根据以下评论:如果您无法使用std::replace(),则此处的代码具有相同的效果:

while (*space == ' '? (*space++ = '-'): *space++);

答案 1 :(得分: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();
}

你做了什么,但它仍然不起作用。它确实编译了