忍者ブログ
MASTER →  ADMIN / NEW ENTRY / COMMENT
現代魔法(nearly equal 情報技術)を勉強中な人のメモ(チラシの裏)
/ 2024/04/23 (Tue) / 編集
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

/ 2008/10/02 (Thu) / 編集
今日は先輩と一緒にはまりました、Cの文字列処理orz

char s[5],t[5];
for(i=0,i<20,i++){
sprintf(&s[i],"%x",'a');
sprintf(&t[i],"%x",'a');
}
printf("%s",s); //aaaaaaaaaa printf("%s",t); //aaaaa
あれれ?おかしいよねこれ?
メモリ的にsとtが隣接してるんだろうな、でもってsとtの区切りがわからないんだろう、それぐらいわかれよ配列で文字数指定してるんだから、、、どうすりゃいいのかと思いきや
char s[6],t[6];
for(i=0,i<20,i++){
sprintf(&s[i],"%x",'a');
sprintf(&t[i],"%x",'a');
}
s[6]='¥0';//EOFを入れる t[6]='¥0';//EOFを入れる printf("%s",s); //aaaaa printf("%s",t); //aaaaa
らしい、、、strncpyやstrncatを使ってもEOFが入らないらしい、これだけのことに何時間もつぶした、、、きづかんてこんなんwww

拍手[0回]

PR
忍者ブログ [PR]