print char到控制台应用程序

时间:2013-02-23 11:46:39

标签: c++ c char

这是一个非常简单的问题,但我完全糊涂了。我想在我的控制台应用程序中打印函数的输出。我的职责是:

   void Func(char * x)

我将其称为:

char a;
Func(& a);

现在我想在VS2010的控制台应用程序中打印我的字符串(a)。我该怎么办?

2 个答案:

答案 0 :(得分:1)

std::cout << a << std::endl;

或者如果使用C - :

printf("%c\n", a);

答案 1 :(得分:1)

首先,你传递给函数的不是字符串,而只是指向单个字符的指针。

你问打印那个角色应该怎么做。

从技术上讲,它就像这样简单:

#include <iostream>

void Func( char* x )
{
    std::cout << *x << std::endl;
}

int main()
{
    char a = 'G';
    Func( &a );
}

虽然这在技术上有效,但可以这么说,它会跳出厕所而咬你更大的程序......

所以让我们从函数签名开始:它的参数和结果。如果要点是函数应该为用作实际参数的变量提供值,那么选择函数结果而不是指针参数。然后不要在函数中做任何i / o,因为这会限制它的实用性,它可以用于:

#include <iostream>

char Func()
{
    return 'A';
}

int main()
{
    char const a = Func();
    std::cout << a << std::endl;
}
另一方面,如果该点仅仅是函数应该显示(或做某事)字符值,那么

然后按值传递它,如下所示:

#include <iostream>

void Func( char const x )
{
    std::cout << x << std::endl;
}

int main()
{
    char const a = 'N';
    Func( a );
}

如果,第三方面,这个想法确实是传递一个字符串,那么使用std::string - 然后我们就会陷入不太可能的可能性,其中存在丰富,太多无法覆盖在这个答案中