gpt4 book ai didi

c - 在C中将字符串拆分为一定大小的字符串

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

假设我有一个字符串“abcd1234efgh”。我想把它分成长度为 4 的子串,比如:A B C D1234嗯

我的 C 生锈了。这是我写的:

#include<stdio.h>
#include<string.h>

int main(void){

int i,j;
char values[32]="abcd1234efgh";
char temp[10];

for(i=0;values[i]!='\0';){
for (j=0;j<4;j++,i++){
temp[i]=values[j];
printf("%c\n",values[j]);
}
printf("string temp:%s\n",temp);
}

return 0;
}

输出显然是错误的,因为我没有保存原始字符串的索引。有关如何解决此问题的任何提示?对于长度不是 4 的倍数的字符串,我想用空格填充短子字符串。

最佳答案

如果您只想打印,这应该可以解决问题:

int len = strlen(values);
for (int off = 0; off < len; off += 4)
printf("%.4s\n", values+off);

如果您想(也)与 4 人一组做其他事情,那么我会考虑:

int len = strlen(values);
for (int off = 0; off < len; off += 4)
{
strncpy(temp, values+off, 4);
temp[4] = '\0';
…do as you will with temp…
}

关于c - 在C中将字符串拆分为一定大小的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21084502/

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