有没有办法做这样的事情:
void test(char *userInput){
//code
}
char userInput = "test";
test(userInput);
我有错误:Process finished with exit code 139
所以我该怎么办?
答案 0 :(得分:3)
有没有办法做这样的事情:
当然,只需更改一下代码:
void test(const char *userInput){
//code
}
int main() {
const char* userInput = "test";
test(userInput);
}
我有错误:
Process finished with exit code 139
所以我该怎么办?
我非常确定编译器确实会在出现之前向您展示一些further errors。先解决这些问题。
答案 1 :(得分:1)
您将此标记为C ++问题... std :: strings非常易于使用。
// NOTE: userinput can be either std::string OR const char*
void test(std::string userinput)
{
// code, perhaps echo testing input
std::cout << userinput << std::endl;
}
// test 290 - invoked somewhere in main
int t290(void)
{
std::string userInput = "test1";
test(userInput);
// some times you can save some typing
test("test2"); // function declared as above
// accepts both const char* or std::string
return (0);
}
答案 2 :(得分:0)
正如其他人指出的那样,您的代码中存在错误,char
应更改为const char*
。 Char只保存一个值,而不是整个字符串,如果你的函数采用const值,那么字符串也必须如此。另外,如果你使用C ++,你可以使用std::string
,它非常简单易用。