Jac*_*all 2 c string loops char
我正在尝试更改循环中的字符串,以便能够使用更改的变量保存我的图像.代码段如下:
for (frames=1; frames<=10; frames++)
{
char* Filename = "NEWIMAGE";
int Save_Img = is_SaveImageMemEx (hCam, Filename, pMem, memID,
IS_IMG_PNG, 100);
printf("Status Save %d\n",Save_Img);
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是将一个随循环计数器更改的变量放在里面,Filename这样我保存的文件就会在每次迭代时更改名称.
任何帮助都会很棒.
使用sprintf创建文件名字符串,并使用%d格式转换说明符int:
char filename[32];
sprintf(filename, "NEWIMAGE-%d", frames);
Run Code Online (Sandbox Code Playgroud)
sprintf工作就像printf,但"打印"到字符串而不是标准输出.
如果您声明frames为unsigned int,请使用%u.如果它是一种size_t用途%zu.有关详细信息,请参阅友好的printf手册页,它将告诉您如何填充数字.
确保您写入的字符数组足够大,以保持最长的输出加上额外的'\0'字符.在你的特定情况下,NEWIMAGE-10+ 1意味着11 + 1 = 12个字符就足够了,但是32在未来一段时间内是未来的.
如果你想像专业人士一样编程,请查看snprintf和asnprintf函数,它们可以分别限制或分配写入的内存.
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |