当前位置: 技术问答>linux和unix
数组赋值问题,谢谢
来源: 互联网 发布时间:2015-03-12
本文导语: 这是偶写的一段代码: include main(int argc,char **argv) { char a[30]=" "; char b[30]=" "; . . . struct stat buf; stat(argv[1],&buf); printf("%sn",strcpy(a,argv[1])); printf("%dn",strcpy(b,buf.st_size)); } 将文件名赋给数组a,打印...
这是偶写的一段代码:
include
main(int argc,char **argv)
{
char a[30]=" ";
char b[30]=" ";
.
.
.
struct stat buf;
stat(argv[1],&buf);
printf("%sn",strcpy(a,argv[1]));
printf("%dn",strcpy(b,buf.st_size));
}
将文件名赋给数组a,打印出来;将文件大小赋给数组b,打印出来;
可是文件名可以,为什么文件大小不行?是偶写错了吗?可是不赋值直接打印却可以,真不知道为什么
include
main(int argc,char **argv)
{
char a[30]=" ";
char b[30]=" ";
.
.
.
struct stat buf;
stat(argv[1],&buf);
printf("%sn",strcpy(a,argv[1]));
printf("%dn",strcpy(b,buf.st_size));
}
将文件名赋给数组a,打印出来;将文件大小赋给数组b,打印出来;
可是文件名可以,为什么文件大小不行?是偶写错了吗?可是不赋值直接打印却可以,真不知道为什么
|
修正:
printf( "%sn", sprintf( b, "%d", buf.st_size ) );
printf( "%sn", sprintf( b, "%d", buf.st_size ) );