为了账号安全,请及时绑定邮箱和手机立即绑定

还是没有找到接受“char *”类型的右操作数的运算

还是没有找到接受“char *”类型的右操作数的运算

C
一只甜甜圈 2023-03-05 13:09:42
scanf("%s",this->txt_cfile_par->Text);String^ temp = this->txt_cfile_par->Text;void MarshalString ( String ^ s, string& os ){using namespace Runtime::InteropServices;const char* chars = (const char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();os = chars;Marshal::FreeHGlobal(IntPtr((void*)chars));}strncpy(cfile_par,temp.c_str(),c_str.length());System::Windows::Forms::MessageBox::Show(temp);error C2601: “MarshalString”: 本地函数定义是非法的error C2228: “.c_str”的左边必须有类/结构/联合error C2228: “.length”的左边必须有类/结构/联合error C2679: 二进制“+”: 没有找到接受“char *”类型的右操作数的运算符(或没有可接受的转换)
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

我怎么觉得你连最基本的编程概念都没入门呢.......
你这好像是C#的代码
函数是不能嵌套的吧,C#应该也是不能在一个函数内部定义一个函数(虽然我C#没那么熟)

strncpy(cfile_par,temp.c_str(),c_str.length());
改成
strncpy(cfile_par,temp.c_str(), temp.c_str.length());

查看完整回答
反对 回复 2023-03-08
  • 1 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信