gpt4 book ai didi

c - 如何使用C编程删除行号?

转载 作者:行者123 更新时间:2023-11-30 20:27:58 26 4
gpt4 key购买 nike

我有一个Structure ,在 Structure我有一个Array ,

我读取了一个文本文件,然后在“Array Into Structure”中打开它,

我拥有的是姓名、姓氏、结果的列表。

那么查找行号并选择要删除的行并将其删除的最佳方法是什么?我说,Array进入Structure .?

我知道我可以使用memmoverealloc但我该如何使用这些呢?

最佳答案

好吧,您所能做的就是将以下元素移向开头,并减少“逻辑”长度。逻辑长度与物理长度不同,物理长度是数组可以容纳的最大元素数,具体取决于已分配的内存量。

因此,假设一个数组从 array 开始并包含 count 个元素,删除第 n:th 个元素的代码将是:

if( n < count - 1)
memmove(array + n, array + n + 1, ((count - n) - 1) * sizeof *array);
--count;

这将复制以下元素(除非您要删除最后一个元素,在这种情况下没有任何内容可复制),然后减少逻辑长度。

关于c - 如何使用C编程删除行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15155687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com