使用指向char的指针打印字符数组。

时间:2013-11-21 19:15:46

标签: c++

在main.cpp中,我必须打印我的char数组:

const char *str(CValue::TestStringValue0());
cout << ' ' << *str << endl; //must not change

我不能修改这个!所以我需要打印我的char数组,但也不是数组的第一个值。

TestStringValue看起来像这样..

static const char* TestStringValue0() {...}

2 个答案:

答案 0 :(得分:1)

我不确定我是否理解正确,但如果您不应该修改此行:

cout << ' ' << *str << endl; //must not change

然后你可以这样做:

const char *tempStr(CValue::TestStringValue0());
const char **str = &tempStr;
cout << ' ' << *str << endl; //must not change

在这种情况下,cout将打印从TestStringValue0返回的整个字符串,而在原始代码中,它只打印第一个字符。

P.S。你有多奇怪的条件:)

答案 1 :(得分:1)

const char *str(CValue::TestStringValue0());
const char *p = str;

for ( ; *str; ++str )
{
    cout << ' ' << *str << endl; //must not change
}

:)