很抱歉就这么简单的事情发帖,但我看不出我在这里做错了什么。
char data[1024];
DWORD numRead;
ReadFile(handle, data, 1024, &numRead, NULL);
if (numRead > 0)
printf(data, "%.5s");
我上面的意图是从文件中读取数据,然后只打印出 5 个字符。但是,它会打印出所有 1024 个字符,这与我正在阅读的内容相反 here .当然,目标是执行以下操作:
printf(data, "%.*s", numRead);
我在这里做错了什么?
最佳答案
您的参数顺序错误。应该写成:
printf("%.5s", data);
printf("%.*s", numRead, data);
printf
的第一个参数是格式说明符,后跟所有参数(取决于您的说明符)。
关于c - 如何打印有限数量的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2641903/