Я пытался использовать sprintf для добавления int, string и int.
sprintf(str,"%d:%s:%d",count-1,temp_str,start_id);
Здесь значение start_id всегда одинаково.Значение temp_str, которое является символом *, увеличивается каждый раз.Я получаю правильный вывод в течение некоторого времени, а затем мой sprintf начинает печатать ненужные символы между temp_str и startid.Так что моя улица повреждена.
Может кто-нибудь объяснить это поведение?
пример
на счет 11
11: 1: 2: 3: 1:2: 3: 1: 2: 3: 1: 21: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2:3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3:1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1:2: 3: 1: 2: 3: 1: 2: 3: 1: 2
при счете 8
8: 1: 2: 3: 1: 2: 3: 1:2: 3: 1: 21: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2:3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3:1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1: 2: 3: 1:2: 3: 1: 2: 3: 1: 2: 3: 1�: 2
Я не понимаю, почему и как «�» добавляется к строке