gpt4 book ai didi

c - 如何删除字符串中的换行符

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:27 24 4
gpt4 key购买 nike

我想删除字符串中的换行符'\n'。

 char *string ="hallo\n";

int i=0;
int length = sizeof(string);

while(i<length)
{
if(string[i+1] == '\n')
{
string[i+1] = '\0';
break;
}
i++;
}

printf("%s",string);
printf("world");

我知道我可以生成一个新数组,它是这样工作的

char *string ="hallo\n";

int i=0;
int length = sizeof(string);
int lengthNew = length -1;
char newStr[lengthNew];
while(i<length)
{
printf("Char ist %c:",string[i]);
newStr[i] = string[i];
if(string[i+1] == '\n')
break;
i++;
}

但是,如果我只能替换旧数组中的一个字符,为什么还要使用堆栈呢?

最佳答案

根据您的评论,我提供了一个完全不同但更好的解决方案:strftime :

time_t clock = time(NULL);

char buf[1024];

strftime(buf, sizeof buf, "%c", localtime(&clock);

printf("The date is: %s\n", buf);

%c 格式与 ctime 使用的格式相同,但 strftime 更灵活。

关于c - 如何删除字符串中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12449664/

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