char を、0 と 1 を char として持つ char のバイナリ値を表す char* に単純に変換する非常に単純な関数があります。
char* stringToBin(char symbol) {
int pos = 0;
int value = (int) symbol;
int rest;
char* result = (char*) malloc(sizeof(char) * 9);
while(value > 0) {
if(value % 2 == 0) {
result[7-pos] = '0';
}
else {
result[7-pos] = '1';
}
pos++;
value = value / 2;
}
while(pos < 8) {
result[7-pos] = '0';
pos++;
}
result[8] = '\0';
puts(result);
puts(strlen(result));
return result;
}
私の問題は、char* の長さを出力できないことです。char* 全体を印刷すると完璧に機能しますが、サイズは計算されません。私はいつもセグメンテーション違反を起こします。問題はかなり単純だと思いますが、今はわかりません。不足しているヒントを教えてください ;)