我需要将最后一个有效字符作为 NUL, '\0'
。
有一个char数组char cursStr[128];
我的意图是:cursStr [lastCharacter where ends] = '\0'
这是如何填充此数组的代码片段:
snprintf(num_range, sizeof(num_range), "%d-%d", devIndex, devIndex+127);
snprintf(dev_range, sizeof(dev_range), "%s%d...%s%d", devices[devPointer].name, 1, devices[devPointer].name, 128);
sprintf(cursStr, "%-7s %-25.50s %c%-30.30s %5Ld%11s\n",
num_range, dev_range,' ', "Empty", (var64)0, "GPT");
我这样做的原因是,通过在 GUI 中打印,它最后会显示一些垃圾字符。但是在控制台打印就好了。我什至试图对memset
这个数组做一个 0 ,但它没有帮助。
这就是它被打印到 GUI 和控制台的方式。
if (cursLine) {
TVdisplayText(cursLine, cursStr, &usedLines); // GUI
cursLine += usedLines;
} else {
printf("%s\n",cursStr); // console
}
使用的 GUI 库是 TVision (Turbo Vision)