使用 strdup 进入 malloc 保留空间
我从未使用过 malloc 来存储多个值,但我必须使用 strdup 来对输入文件的行进行排序,但我没有办法让它工作。
我虽然使用 strdup() 来获取指向每一行的指针,然后根据使用 malloc() 保留的行数将每个行放入一个空间中。
我不知道是否必须像保留内存是指向指针的数组一样这样做,我的意思是使用 char**
,然后将每个指向每个 strdup 的指针放入保留空间。
我想是这样的:
char **buffer;
char *pointertostring;
char *line; // line got using fgets
*buffer = (char*)malloc(sizeof(char*));
pointertostring = strdup(line);
我不知道之后要做什么,我什至不知道这是否正确,在这种情况下,我应该做什么来将指向字符串的指针存储在缓冲区的位置?
问候
I've never used malloc to store more than values but I have to use strdup to order the lines of an input file and I dont get a way to make it work.
I though using strdup()
to get a pointer to each line and later, put each one into a space according to the number of lines reserved with malloc()
.
I dont know if I have to do it like reserved memory was an array to pointers, I mean using char**
and later put each pointer to each strdup into reserved space.
I though something like this:
char **buffer;
char *pointertostring;
char *line; // line got using fgets
*buffer = (char*)malloc(sizeof(char*));
pointertostring = strdup(line);
I don't know what to do after that, I don't even know if this is correct, in that case, what should I do to store the pointer to the string in a position of buffer?
Regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果我正确理解你的要求。你必须做类似的事情:
If I understand your requirement correctly. You'll have to do something like:
你的缓冲区将只保存一个指针。你需要类似的东西:
Your buffer will only hold one pointer. You need something like: