[英]C: How to store a string in a structure
所以我有一個結構,它的成員之一是字符串。
struct Output {
char *axis;
int value;
};
struct Output Jsoutput;
我的問題是,如何在軸中存儲字符串?
char whichaxis[4][3] = {"LX","LY","RY","RX"};
// Store which axis and value of the joystick position in Jsoutput
Jsoutput.axis = whichaxis[jse.number];
printf("%s\n",Jsoutput.axis);
我覺得應該有一些&
地方,但不知道在哪里。
只需使用strdup
Jsoutput.axis = strdup(whichaxis[jse.number]);
您可以從string.h
復制帶有功能strcpy(destination, source)
的String
參見http://www.cplusplus.com/reference/cstring/strcpy/
Jsoutput.axis = malloc(3);
strcpy(Jsoutput.axis,whichaxis[jse.number]);
您不必第二次“存儲”字符串。
char whichaxis[4][3] = {"LX","LY","RY","RX"};
存儲字符串。
char *axis;
說“我要指向一個字符串”。
如果您想要在其中添加&
,則可以執行以下操作:
Jsoutput.axis = & (whichaxis[jse.number][0]) ;
但是C的原始設計者非常務實,為了方便起見,讓數組始終變成指針。 有關更多詳細信息,請參見什么是數組衰減 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.