char str[10] = {"a","b","c"};
cout << str << endl;
とするとabcと出ますが、これはstr[3]にNULLが入っているからその手前まで出力しているのですよね。
という事はcoutは出力文字数回の比較(その文字がNULLかどうか)をしていると言う事でしょうか。
つまり、
i=0;
while(str[i] != NULL){
str[i]を出力;
i++;
}else{ return }
という様に内部ではなっているのでしょうか?
しかしこれでは文字列が長いほど無駄が多くなります。
予め何バイトを出力すればいいのかが分かっている場合、
この様な比較処理無しに指定バイト数だけ出力したいのですが、何か方法はあるでしょうか?