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