私は以下のコードを持っています。001
の最初の3文字( )をpacket_received
、値を1つ増やして(002 )変更したいと思います。ただし、コードを実行すると、次の出力が得られます。
Hop_network = 001
new Hop_network = 2
packet_received = 2
私が見たいのは:
packet_received = 002456
どうすればいいですか?最初の文字が0でない場合、コードは正常に機能し、受信メッセージは常に0で始まる必要はありません。回答ありがとうございます。
int main(int argc,char *argv[]){
char Hop_network[4];
char packet_received[]= "001456";
int Hop_increaser;
Hop_network[0] = packet_received[0];
Hop_network[1] = packet_received[1];
Hop_network[2] = packet_received[2];
Hop_network[3] = '\0';
printf("Hop_network = %s\n", Hop_network);
Hop_increaser = atoi(Hop_network);
Hop_increaser = Hop_increaser + 1;
sprintf(Hop_network, "%d", Hop_increaser);
printf("new Hop_network = %s\n", Hop_network);
packet_received[0] = Hop_network[0];
packet_received[1] = Hop_network[1];
packet_received[2] = Hop_network[2];
printf("packet_received = %s\n", packet_received);
return 0;
}