c - 如何在C中删除char指针数组

标签 c arrays string

我想删除包含“某事”的单元格:

char* a[200];

我该怎么办?我试过了,但它不起作用!

for(i=0;i<100;ti++)
{

 if(strcmp(a[i],"sth")!=0)
    temp[i]=a[i];
}
a=temp  //not sure here

最佳答案

有点像

j=0;
for(i=0;i<100;i++)
{
    a[j]=a[i];
    if(strcmp(a[i],"sth")) {
     j++;
    }else{
     a[j]=0;
    }
}

我没有在这里释放内存,因为我不知道字符串是从哪里来的。如果字符串是使用 malloc 分配的,则应将其释放(如果未在其他地方使用)

关于c - 如何在C中删除char指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11899063/

相关文章:

c - 如何为 PDF 文件的某些页面生成缩略图?

python - numpy linspace 和 numpy logspace 之间的输出差异

c - 从给定参数的文件中反转行

Javascript - 要么 Push(StringArray.split (",") 不起作用,要么循环不工作

c - 我怎么在这里错误地使用 malloc ?

c - 如果用户输入为0则退出程序

c - 修改同一内存地址上的值如何会删除以前的值? "OVERWRITTEN concept on PC' s模式操作”

c++ - 生成随机二维数组

C# - 我可以使用数组初始值设定项从另一个字节数组构建一个字节数组吗?

java - 使用 Java 从字符串中提取标记