Ich habe diese Art von Konvention in meinem Code in der Vergangenheit schon oft verwendet:
strcpy ( cTmpA, "hello" );
sprintf ( cTmpA, "%s world", cTmpA );
Kürzlich wechselte ich meinen Legacy-C-Compiler zu Visual Studio 2005 und stellte fest, dass ich eine verstümmelte Zeichenfolge aus dem obigen Code erhielt. Da kam mir der Gedanke, dass das Verhalten von sprintf() vielleicht nicht fest definiert ist, wenn eine der Eingaben mit der ausgegebenen Zeichenkette übereinstimmt.
Ist der obige Code für K&R C gültig? Wenn nicht, wie finde ich alle Stellen in meinem Code, an denen diese Art von Aufrufen von sprintf() aufgetreten ist?