当从流中向字符写入字符时,如果在编译时未知流的大小,是否有办法使数组的长度成为确切的字符数?例如,当读取文本输入到数组中时,文本的大小可以是任意长度。
答案 0 :(得分:2)
查找文件大小
fseek(fp, 0, SEEK_END);
size = ftell(fp);
/* Rewind. */
fseek(fp, 0, SEEK_SET);
分配内存
char *buf = malloc(size);
答案 1 :(得分:1)
我写过C已经有一段时间了,但我相信你可以使用malloc()函数动态分配一块内存。
char* str = malloc( sizeof( char ) * lengthOfStream ) ;
答案 2 :(得分:0)
您是否要求增加每个数组元素大小的长度,或者想要增加数组的长度或大小(no.of elements)
如果你想增加no.of元素,那么使用这个语法
char array[];
如果你在谈论单个元素,那么它不可能增加,因为我们解析数组的数据类型是不变的。
谢谢