- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
card * load_rolodex(FILE *read_file)
{
int array_index = 0;
char line [LINE_MAX];
card *card_array = malloc(sizeof(card) * upper_bound);
while (fgets(line, LINE_MAX, read_file)!= NULL)
{
card_array[array_index].last_name = strtok(line, " ");
card_array[array_index].first_name = strtok(NULL, " ");
card_array[array_index].phone_number = strtok(NULL, " ");
size++;
array_index++;
}
return card_array;
}
我正在尝试将每个标记保存到结构数组中的值。
我正在读取具有以下格式的文件
姓氏名字号码姓 名 号码等..
我的输出如下:
0 普拉特艾琳 193)760-4405
1 普拉特伊芙琳
2 普拉特维林
3 普拉特维林 (193)760-4405
4 普拉特维林 93)760-4405
5 普拉特 (193)760-4405
6 普拉特艾琳 3)760-4405
等...
输出应该是,
0 阿科斯塔·纳丁 (752)596-6540
1 阿尔福德斯凯勒 (635)736-7827
2 艾莉森·劳伦斯 (475)886-5725
3 阿尔瓦雷斯科林 (659)911-6629
4 球卡德曼 (328)898-9532
5 巴拉德·阿贝尔 (853)190-0868
...
99 普拉特伊夫林 (193)760-4405
如您所见,Pratt Evelyn (193)760-4405 是我正在阅读的文件的最后一行,
我是 C 语言的新手,如有任何关于问题的解释,我们将不胜感激!
最佳答案
您需要复制您正在保存的字符串。喜欢...
card_array[array_index].last_name = strdup(strtok(line, " "));
card_array[array_index].first_name = strdup(strtok(NULL, " "));
card_array[array_index].phone_number = strdup(strtok(NULL, " "));
使用您的代码,字符数组 line
被重新用于所有行,其指针被设置到 card_array
成员中。当您阅读新行时,先前的指针也将获得新数据。最终每个人都会读到最后一行的字符。
此外,您的代码的另一个问题是您返回的是本地数组 - line
,这是错误的。
关于C:strtok 覆盖以前的数组值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27263728/
我是 firebase 的新手,我正在尝试分页查询。我喜欢有一个“下一个”和“上一个”按钮。我的下一个按钮工作正常,我的问题是单击上一个 引用:https://firebase.google.com/
抱歉,标题这么蹩脚,但我只是不知道该放什么,希望你能理解。另外,我不知道以前是否有人问过类似的问题,因为我不知道合适的关键字 - 因此也无法用谷歌搜索。 基本上...在查看preg_match_all
我想在 TFS 中 check out 一个检入文件的先前版本。我可以轻松获得特定文件的变更集 ID 列表,但无法弄清楚如何 checkout 以前的版本。 我目前的代码: var workspace
我想使用 @FunctionalInterface来 self 代码中的 Java 8,但我希望能够将生成的类文件与 Java 6 一起使用。我认为我应该将源版本设为 1.8 , 目标版本为 1.6
自从 versions 被删除以来,我一直无法找到安装以前版本软件的方法。命令并点击 Homebrew。我在 2008 Mac Pro (3,1) 上运行 macOS 10.14.3 (Mojave)
当我开始当前的项目时,App Store 中已经有一个应用程序。此应用程序仅适用于 iPhone。 我的第一个任务是测试和构建一个也可以在 iPod Touch 上运行的版本。 大约 3 周前,App
我在 GitHub 上有一个曾经是 fork 的 repo,但现在不是了,因为我已经删除了原始项目的任何痕迹并开始了一个同名的新项目。 但是,GitHub 仍然表示该项目是 fork 的。有什么方法可
我是一名优秀的程序员,十分优秀!