簡體   English   中英

C:如何在結構中存儲字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM