で5番目の文字の後に私はchar型の配列を持っている、と私はすべての5つの文字の後にハイフンを挿入します。次のコードを試しましたが、このタスクを実行するためのより良い方法、文字列関数を使用する方法、およびその方法を探していますか?ありがとう。 :D挿入ハイフンはC
#include <stdio.h>
#include <string.h>
int main()
{
char str[]="356a192b7913b04c54574d18c28d46e6395428ab";
char buf[50];
sprintf(buf, "%.5s-%.5s-%.5s-%.5s-%.5s-%.5s-%.5s-%.5s",str, str+5,str+10,str+15,str+20,str+25,str+30,str+35,str+40);
printf("%s",buf);
return 0;
}
限り多くのハイフンを挿入するためにループを使用して、[ここ](https://stackoverflow.com/questions/7459259/inserting-characters-into-a-string)与えられた答えに記載されている情報を使用し、 –
警告をオンにするのと同じようにハードコーディングする必要はありません。あなたの 'sprintf'行に引数が多すぎると、gccとclangが私に警告しました...これはおそらくUBです。しかし、どのようなアウトプットを得ますか?次のコードは私のために働いていた私は、[文字列に挿入する文字]の欲しいものを – yano
が重複する可能性を得ているように見える(https://stackoverflow.com/questions/7459259/inserting-characters-into-a-string) –