use*_*944 3 c string segmentation-fault
程序崩溃的以下代码有什么问题 - 给出分段错误.我正在使用gcc.
uint8_t result = 1
InsertRow("Name","Details of work",result);
void InsertRow(char *Name, char *Description,uint8_t Result)
{
char Buffer[500];
if(Result==1)
sprintf(Buffer,"<tr><td>%s </td> <td> %s </td> <td> %s </td></tr>",Name,Description,Result);
}
Run Code Online (Sandbox Code Playgroud)
您正在使用%s格式说明符作为类型的参数uint8_t,这应该是%u,您应该将值转换unsigned int为匹配.这样您就不必关心确切的类型并调整格式化程序(如评论者的建议).
此外,我们很难知道缓冲区足够大,当然.如果你拥有它,你可以使用它snprinf()来避免这种情况.
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |