19/05/12 07:43:52.68 2y1+p9UL.net
>>530
>>a.insert(a.begin(),&b[0],&b[sizeof b]);
>>
>
>これ、添字オーバーしてるけどメモリエラーとかにならないの?
508だけど、これは
a.insert(a.begin(),&b[0],&b[sizeof b]);
こっちの間違いです。ごめんなさい。
a.insert(a.end(),&b[0],&b[sizeof b]);
&b[sizeof b]);
この部分は
b+sizeof(b)
これなら問題ない感じ?
どちらでも動くけど、たまたまいてる可能性捨てきれないから不安なんだよね。
実際のソースはsizeof(b)がbに格納されているデータのサイズを示していて、
char b[256];
int s = read( fd, b, sizeof b);
a.insert(a.end(),&b[0],&b[s]);
みたいな感じで書いてます。
んで、b最大数来た場合にちゃんと動くか気になったというわけっす。
int s = read( fd, b, (sizeof b)-1);
無難にこれの方がいいですかね?