字符串数组的奇怪行为

时间:2014-02-11 04:30:13

标签: c arrays linux string

我在for循环中打开硬盘驱动器,生成像这样的文件名

char pathname[DRIVEAMOUNT][8];

for (i=0;i<DRIVEAMOUNT;i++) {
    strcpy(pathname[i],"/dev/sdX");
    pathname[i][7]='a'+i;
}

但是如果我以后想要打印出某个路径名,我会在所有路径名之后追加。

所以我的代码看起来像这样

printf("%s",pathname[i]);

并打印出来

/dev/sda/dev/sdb/dev/sdc... and so on 

而不是单个/ dev / sda或/ dev / sdb

我也试过先做一个sprint();然后在strcpy中使用它,但我得到相同的结果

0 个答案:

没有答案