繁体   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