创建一个字符数组malloc

时间:2015-02-09 00:00:03

标签: c arrays

我正在尝试从SD卡读取数据值。我有一个函数,当它到达文件末尾时返回一个字符和-1。我想将每个字符存储在一个数组中。

我将存储阵列初始化为:

char* storage = (char *) malloc (sizeof(char) * SIZE));

然而,当我打印出值时,我没有得到正确的数据。但是,如果我将其更改为:

int* storage = (char *) malloc (sizeof(char) * SIZE)); 

它有效。

我初始化指针数组错了吗?

1 个答案:

答案 0 :(得分:-1)

我的错误,我应该检查文件的返回功能:

short int alt_up_sd_card_read(short int file_handle);

/ *从给定文件中读取单个字符。如果在文件末尾,则返回-1。任何其他负数  *表示无法读取文件。 0到255之间的数字是从SD卡读取的ASCII字符。 * /

所以我应该分配short int而不是char。感谢。