Char不在C中的多维数组中工作.需要澄清
发布时间:2020-12-16 10:12:45 所属栏目:百科 来源:网络整理
导读:我试图为多种数据类型创建一个2d数组,但它似乎不接受char数据类型.为什么是这样? struct {union { int ival; float fval; char cval[50];} val;} as[120][4];as[0][1].val.cval = "Testtttt"; ***This does not work***as[1][1].val.ival = 3; ***This work
我试图为多种数据类型创建一个2d数组,但它似乎不接受char数据类型.为什么是这样?
struct { union { int ival; float fval; char cval[50]; } val; } as[120][4]; as[0][1].val.cval = "Testtttt"; ***This does not work*** as[1][1].val.ival = 3; ***This works*** 解决方法
您在
c,因此在字符串处理方面您应该使用
string.h!
改变这个: as[0][1].val.cval = "Testtttt"; 对此: strcpy(as[0][1].val.cval,"Testtttt"); 通过使用strcpy()而不是赋值运算符(这将在c++中工作,而不是在c中). 当然,存在替代功能,例如strncpy() *和memcpy(). 此外,由于C字符串处理对您来说似乎很新,您必须阅读约null terminated strings in C. *致@fukanchik的人提醒我 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |