次の文字列を変換する関数を作成しようとしています:
1110100010000000101000011000011110000000000000000000000000111101110000110101100111
に:
1110100010000000 1010 0001 1000 0111 1000 0000 0000 0000 0000 0000 0011 1101 1100 0011 0101 1001 11
(4 つの 1 と 0 のグループ)
次のような機能があります。
convert(char *src_buffer,char *dst_buffer,int offset){
}
上記の場合、「オフセット」は 16 です。
これが私がソファーで試したコードです:
char *tmp=(char*)malloc(1000*sizeof(char));
strncpy(tmp,buffer,i);
tmp[i+1]=' ';
for(int j=0;j<sizeof(buffer);j++){
strcpy(tmp+sizeof(tmp),buffer+(4*j));
tmp[(5*j)+1]=' ';
}
しかし、それはうまくいきません...
助けてください!私を助けてくれるCの第一人者がそこにいることを願っています。
ここに私が取り組んできたいくつかの更新されたコードがあります:
char *tmp=(char*)malloc(1000*sizeof(char));
strncpy(tmp,buffer,offset);
tmp[offset+1]=' ';
int k=offset+1;
for(int j=i;j<strlen(buffer);j+=4){
tmp[k]=buffer[j];
tmp[k+1]=buffer[j+1];
tmp[k+2]=buffer[j+2];
tmp[k+3]=buffer[j+3];
tmp[k+5]=' ';
k+=5;
}