簡體   English   中英

二維數組和字符數組C的比較

[英]Comparison of 2D array and character array C

我正在比較從文件中讀取的2D數組中存儲的數據和其中包含數據的字符數組。 看起來像這樣:

char file[10][20];
file[0] = "test";
char arry[20] = "test";
if (arry == file[0]) {
    //do something
}
else {
    // do something else
}

問題是// do something語句沒有被執行,我確保在將文件讀入數組時沒有換行符。 謝謝你的幫助

不要被file[0] = "test";的相似語法所迷惑file[0] = "test"; char arry[20]="test";

首先是將一個衰減的指向字符串文字的指針分配給char[20]對象,該對象是類型不匹配錯誤。

第二個是char數組的聲明,其中用字符串文字初始化內容。 這與上面顯示的不同。

您可以執行一個快速的strcpy(file[0],"text") 但是然后再次使用strcmp和朋友來比較這兩個字符串。

if(strcmp(file[0],arry) == 0){
   ...
}

暫無
暫無

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

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