在main.cpp中,我必须打印我的char数组:
const char *str(CValue::TestStringValue0());
cout << ' ' << *str << endl; //must not change
我不能修改这个!所以我需要打印我的char数组,但也不是数组的第一个值。
TestStringValue看起来像这样..
static const char* TestStringValue0() {...}
答案 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
}
:)