gpt4 book ai didi

c - 如何在 C 中的 strcpy() 之前循环初始化 char 数组并一次又一次地清空它?

转载 作者:太空宇宙 更新时间:2023-11-04 06:44:59 25 4
gpt4 key购买 nike

我想在循环中每次都重新初始化d

     char d[90];   
while(ptr != NULL)
{
printf("Word: %s\n",ptr);
//int k = 0;
strcpy(d, ptr);
d[sizeof(d)-1] = '\0';
//something more
....
....
}

最佳答案

“在”strcpy() 之前不需要做任何事情。在缓冲区 d 上调用 strcpy() 将覆盖缓冲区中的任何内容,并使缓冲区保留 ptr 指向的字符串通话时间。不需要将最后一个字符分配给“\0”。

当然,如果您因为不确定 strcpy() 是否会覆盖 d 而执行显式终止,那么您就有问题了。您应该在复制之前在 ptr 上使用 strlen() 以确保它适合,或者如果有的话使用 snprintf()

关于c - 如何在 C 中的 strcpy() 之前循环初始化 char 数组并一次又一次地清空它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1511050/

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