c - 带有 char 数组的数组
问题描述
我想创建一个数组,malloc
然后为数组的字段分配fgets
.
char *words;
words = (char *)malloc(lines*sizeof(char));
int k = 0;
words[k] = (char *)malloc(mysize*sizeof(char));
由于我猜缺少指针,这将不起作用。我能做些什么?
解决方案
我想用 malloc 创建一个数组,然后为数组的字段分配 fgets 的输出。? 然后希望您应该声明words
为双指针或 char 指针数组。
一种方法是,使用下面的 char 指针数组。
char *words[lines]; /* array of pointer, lines is nothing but number of line in file */
for(int row = 0;row < lines; row++) {
/* allocate memory for each line */
words[row] = malloc(mysize);/* mysize is nothing but lines has max no of char i.e max no of char */
/* now read from file */
fgets(word[row],mysize,fp);/* reading from file(fp) & store into word[0],word[1] etc */
}
或者你也可以使用双指针char **words;
。
一旦工作完成,最后不要忘记释放动态分配的内存。
推荐阅读
- kubernetes-helm - 调用第三方chart时如何新建和使用新的ConfigMap?
- javascript - 离开后反应间隔不停止
- swift - 即使我使用了@Published 字词,email_SignUp 等数据也不会保存在我的 ViewModel 类中
- python - 使用for循环保存多个文件
- php - 我有一个问题哦,在 php 中登录。当我在 localhost 中对其进行测试时,登录页面可以正常工作。但是当我将它上传到服务器并测试时,它没有用
- shader - 将 d3d9 像素着色器转换为 d3d11 时遇到问题
- ansible - 使用“ansible”检测文件差异(更改)
- oracle - 在 Oracle 中保存日期而不附加时间
- visual-studio-code - 拆分 VSCode 屏幕
- javascript - 表中jquery搜索功能的性能很慢