- ベストアンサー
strcat で型が合わない
#include <iostream.h> main(){ char x[15]; for(int i=0;i<15;i++) x[i]=i+49; for(int i=0;i<15;i++){ cout <<x[i]; }; } 9より先の文字化けは考えないとして、 char x[15]; というのは適切ですか? 16個目の要素になる x[15] には、文字列の最後の \0 が入ると思って char x[14]; にしなかったんです。 コンパイルして実行すると 123456789... となるけど、 2桁にしたいんです。半角スペースを使いたいんです。 1 2 3 4 5... のようにしたいんです。 そのように表示する方法は色々あるけど、 文字列の配列でやる場合の方法が知りたいんです。 #include <iostream.h> main(){ char x[15]; char y=" " for(int i=0;i<15;i++){ x[i]=strcat( y,(char)(i+49) ); }; for(int i=0;i<15;i++){ cout <<x[i]; }; } ↑のようなことやってみたけど、型が合わないとかで うまくできませんでした。 strcat とか strncpy は難しいです。 正しいソースを教えてください。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (7)
- 春原 なの(@ymda)
- ベストアンサー率37% (668/1777)
回答No.8
- kokucho81
- ベストアンサー率61% (157/255)
回答No.7
- kokucho81
- ベストアンサー率61% (157/255)
回答No.5
- misoka
- ベストアンサー率35% (56/160)
回答No.4
- shigatsu
- ベストアンサー率26% (511/1924)
回答No.3
- zonbie
- ベストアンサー率27% (3/11)
回答No.2
- 春原 なの(@ymda)
- ベストアンサー率37% (668/1777)
回答No.1
お礼
コンパイルできなかったけど、情報ありがとうございました。