簡體   English   中英

將結構值添加到 C 中的 char 數組

[英]Adding struct value to char array in C

我有一些價值。 說是

dir->d_name;

我想將此值添加到 char 數組

char fileNames[100];

我創建了一個臨時 char 值,試圖分配 dir->d_name

char temp_fileName;
temp_fileName = dir->d_name;

我該怎么做,或者我應該將 dir->d_name 轉換為 char 或 string?

警告:從 'char*' 分配給 'char' 使得 integer 從沒有強制轉換的指針

正如警告所說,這是一個char*char指針),而不是char

char* temp_fileName;
/*  ^-- Here */
temp_fileName = dir->d_name;

如果要存儲引用(指針):

char *temp_fileName;
temp_fileName = dir->d_name;

如果要存儲字符串的副本:

char *temp_fileName = strdup(dir->d_name);

或者

char *temp_fileName = malloc(strlen(dir ->d_name)+1);
if(temp_fileName) strcpy(temp_fileName, dir ->d_name);

或者如果temp_fileName是一個自動變量

char temp_fileName[strlen(dir ->d_name)+1];
strcpy(temp_fileName, dir ->d_name);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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