c语言,分离字符串,每段长度为5个字符

//盗墓者是个丑奴儿,原

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

int main(void){

//要准备分离的字符串

//      char * str="sdajdhasjkdhasjkdhjkashdjasdhjakshdjkasdhasjk";
        char * str="sdajdhasjkdhasjkdhjkashdjasdhjakshdjkasdhasjkLpa";
        int size=0;
        size=strlen(str)%5==0?strlen(str)/5:strlen(str)/5+1;

        printf("%d \n",size);

        //存储容器。将字符串化为单个字符,存储进入字符数组

        //使用二维数组,将字符串化x段,每段5字符,x段在统一在起来,即采用二维数组

        char arr[size][5];
        memset(arr,'0',sizeof(arr));

        int a1=0;

        int a2=0;

        //存储进入二维数组

        for(int i=0;i<strlen(str);i++){
                if(a2>=5){
                        a1++;
                        a2=0;
                }
                arr[a1][a2]=str[i];
                a2++;
        }

        //一段一段的打印,打印二维数组每一段存储OK

        int index=0;
        while(index<(sizeof(arr)/5)){
                for(int i=0;i<5;i++){
                        printf("%c",(arr[index])[i]);
                }
                index++;
                printf("\n");
        }

        return 0;

}

运行结果:这次是使用没有被5个字符整除的字符串长度,为0因为memset清0

猜你喜欢

转载自blog.csdn.net/java_dmz/article/details/81003476
今日推荐