にシンボルとして示すIは、プリント値を見るとき、私は、私はtest 200
が、いくつかの他の機会に印刷連結値結果はC
#include <stdio.h>
int main()
{
char *price_c = "200";
char *s_att = "test ";
int satt=strlen(s_att);
int price_len = strlen(price_c);
int send_attach_len = price_len+satt;
size_t length = send_attach_len +2;
char *concat = malloc(sizeof(char) *length);
snprintf(concat, length, "%s%s%s", s_att, price_c, "\n");
printf("value of concat is %s", concat);
}
以下のコードを有しています、私はtest 200 <?>
を持っています。は奇妙なシンボルです。何とか新しい行が認識されません。 しかし、この奇妙なシンボルが表示されているすべてではないので、非常に奇妙です。 それはちょうど無作為に来ました。私は使用していますubuntu 10.04
私はこの新しい行の問題を解決するために助けてくれるので、新しい行と奇妙な記号を表示することはできますか?あるいは、上記の値を連結して、新しい行が正しく表示され、奇妙なシンボルが表示されないように、アプローチを変更することはできますか?
正しく動作します。私はあなたの問題がどこか他の場所だと思う。 – xanatos
@ xanatos:はい、正しく動作します。しかし時にはそれは私に200(そして新しい行ではない)の後に別の奇妙なシンボルを表示します。 – heike
@Maheshいいえ、彼は文字列の最後に '\ n'を追加しています。 – xanatos