У меня ошибка сегментации в моей программе. Вот мой кодОшибка сегментации sprintf()
char buffer[5000]="";
memset(buffer,0,sizeof(buffer));
sprintf(buffer,"<?xml version=\"1.0\" encoding=\"utf-8\"?>\
<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:log=\"http://wsdlclass.wsdlcreat.sims.triesten.com\">\
<soap:Header>\
</soap:Header>\
<soap:Body>\
<log:saveMessBillingDetails>\
<log:userId>%s</log:userId>\
<log:billNo>%s</log:billNo>\
<log:billingAmount>%s</log:billingAmount>\
<log:billingDate>%s</log:billingDate>\
<log:messId>%s</log:messId>\
<log:itemId>%s</log:itemId>\
<log:ipAddress>%s</log:ipAddress>\
<log:schoolId>%s</log:schoolId>\
</log:saveMessBillingDetails>\
</soap:Body>\
</soap:Envelope>",
"00007", "152555", "42.00", "17-08-2013", 10, "CHKK", "10.10.1.164", 1);
В дополнение к ошибке% s //% d: 1) memset() бесполезен 2) Я настоятельно рекомендую использовать snprintf() вместо этого и проверить его возвращаемое значение 3) для больших s [n] printf () вызывает такой код, код может быть упрощен для чтения и обслуживания, разделив вызов snprintf() на несколько вызовов на snprintf() – wildplasser
Пожалуйста, не изменяйте вопрос до нужной версии. Люди могут задаться вопросом, что такое ошибка. –
FYI: Я вернул его к предыдущей версии. – wildplasser