小编Eng*_*nie的帖子

为什么要使用malloc?

根据我的理解,malloc函数接受一个变量并按要求分配内存.在这种情况下,它会要求编译器准备内存以适应20个双变量的等价.我的理解方式是否正确,为什么必须使用它?

double *q;

q=(double *)malloc(20*sizeof(double));

for (i=0;i<20; i++)
{
    *(q+i)= (double) rand();
}
Run Code Online (Sandbox Code Playgroud)

c memory variables malloc memory-management

1
推荐指数
1
解决办法
330
查看次数

空格键是一个字符吗?

考虑这一行文字:

第一行文字.

如果使用字符数组string加载数组中的第一个TEN字符,它将输出为:

First lin'\0'
Run Code Online (Sandbox Code Playgroud)

First包含5个字母,lin包含3个字母.其他两个字符在哪里使用?

\0认为是两个人物?

或者是单词之间的空格被认为是一个字符,因此'\ 0`是一个字符?

c arrays string char

1
推荐指数
2
解决办法
5万
查看次数

在 C 中读取二进制文件

假设用这个函数原型编写了一个二进制文件(需要打开读取):

void writeBinaryFile ( char *fileName , char *comment , int numberOfDoubles , double *doubles , int numberOfInts , int *ints )
Run Code Online (Sandbox Code Playgroud)

(有关此功能的更多详细信息可以在下面的粘贴中找到)

...

我编写的代码只获取 .bin 文件的第一个字母...

这是我的功能:

void readBinaryFile(char *fileName)
{
        FILE *fp;
        char *ptr;
        double *ptr1;
        int *ptr2;
        ptr=(char*)malloc(sizeof(char)*5);
        ptr1=(double*)malloc(sizeof(double)*6);
        ptr2=(int*)malloc(sizeof(int)*6);

        fp=fopen ( fileName , "rb" ) ;
        fread(ptr,sizeof(char),11,fp);
        while(*ptr!='\0')
        {
            printf("%c",*ptr);
            ptr++;

        }
        fclose(fp);
}
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?我需要阅读的不仅仅是.bin 文件中的第一个字符。

一如既往地感谢帮助。谢谢!

如果有人需要有组织的完整代码,这里是粘贴:

http://pastebin.com/66jZwfUD

c io binary file

-2
推荐指数
1
解决办法
4638
查看次数

标签 统计

c ×3

arrays ×1

binary ×1

char ×1

file ×1

io ×1

malloc ×1

memory ×1

memory-management ×1

string ×1

variables ×1