在main.cpp中我必须打印我的字符数组是这样的:使用指向字符的指针打印字符数组。
const char *str(CValue::TestStringValue0());
cout << ' ' << *str << endl; //must not change
我不能修改这个!所以我需要打印我的char数组,但不是数组的第一个值。
TestStringValue这个样子..
static const char* TestStringValue0() {...}
在main.cpp中我必须打印我的字符数组是这样的:使用指向字符的指针打印字符数组。
const char *str(CValue::TestStringValue0());
cout << ' ' << *str << endl; //must not change
我不能修改这个!所以我需要打印我的char数组,但不是数组的第一个值。
TestStringValue这个样子..
static const char* TestStringValue0() {...}
我不知道我理解正确的,但如果你不应该修改此行:
cout << ' ' << *str << endl; //must not change
然后,你可以做像这样:
const char *tempStr(CValue::TestStringValue0());
const char **str = &tempStr;
cout << ' ' << *str << endl; //must not change
在这种情况下,cout将打印从TestStringValue0返回的整个字符串,wh在原始代码中它只打印第一个字符。
P.S.你有什么奇怪的条件:)
为什么你需要一个临时变量? – andre
非常感谢,男士! 我正在做一些项目,并在main.cpp中,我们有一些测试,我们不能modificate。 – Alewenka
@Alewenka,不客气:)如果我的回答有帮助,如果您不介意,可以将其标记为已接受;) – FreeNickname
const char *str(CValue::TestStringValue0());
const char *p = str;
for (; *str; ++str)
{
cout << ' ' << *str << endl; //must not change
}
:)
我也想过:)一个不错的:)唯一的问题是'cout'结尾的愚蠢的'endl' :) – FreeNickname
@FreeNickname这不是愚蠢的endl。这是愚蠢的assignmnet。:) –
不明白的问题 – edtheprogrammerguy
您可以显示'TestStringValue0()'的代码?而不是返回例如'str'你会返回'str + 1' – clcto
'CValue :: TestStringValue0'看起来像什么?你的问题是什么? –