我从来没有用malloc来存储超过值,但我不得不使用strdup命令输入文件的行,我没有办法让它工作。使用strdup进入malloc保留空间
我虽然使用strdup()
来获取指向每行的指针,然后根据使用malloc()
保留的行数将每个指针放入一个空间。
我不知道我是否需要像保留内存那样做一个数组指向指针,我的意思是使用char**
,后来把每个指针指向保留空间中的每个strdup。
我虽然是这样的:
char **buffer;
char *pointertostring;
char *line; // line got using fgets
*buffer = (char*)malloc(sizeof(char*));
pointertostring = strdup(line);
我不知道以后该怎么办,我甚至不知道这是正确的,在这种情况下,我应该怎么办存储指向缓冲区位置的字符串?
Regards
之后,我使用realloc来适应分配的空间。谢谢! – sui 2010-03-05 13:27:18