【发布时间】:2018-09-16 19:39:54
【问题描述】:
我研究了半天,不知道如何传递一个简单的 char 指针,并修改函数中的值。大多数解决方案都说要修改函数以接受char ** 参数。
我有一个无法修改的功能。我需要传递一个 char 指针给它,因为这个函数会给我一个新的计算 char 值。有人告诉我我可以传递一个指向 char 数组的指针,它会起作用,但我不确定如何去做。
Passing char pointer as argument to function
我按照上面的帖子提出了以下代码,但它仍然无法正常工作。当我将指针传递给 char arr[] 时,它不会改变它的值。我的目标是传递一个 char 指针,并能够通过传递它的引用在另一个函数中写入它。任何帮助表示赞赏。
enum STATUS {
OK = 0,
BAD = 1,
};
STATUS func1(char *pData)
{
pData = "Hello World";
cout << pData << endl;
return OK;
}
int main()
{
STATUS ret;
char arr[] = "Example String";
char* pArray = &arr[0];
ret = func1(pArray);
cout << arr << endl;
cout << pArray << endl;
getchar();
return 0;
}
【问题讨论】:
-
如果您使用的是 C++,请尝试并实际使用 C++。那是使用
const string而不是char*。 -
函数func1是别人做的,不能修改。如果我将变量声明为 const 字符串,我将需要修改 func1()
-
哦,这是那些 C++课程中完全没有抓住重点的吗?祝你好运,我希望你做得好,但请记住,这与 C++ 的实际意义相去甚远。
标签: c++