#include <stdio.h>voID main() { file *fileptr = fopen("sample.txt","r+"); fpos_t pos; int val = fgetpos(fileptr,&pos);}解决方法 fpos_t在C标准中定义为:
fpos_t
which is a complete object type other than an array type capable of recording all the information needed to specify uniquely every position within a file.
此类型不一定是标量,可以定义为具有多个成员的结构.没有printf格式以可读的方式输出它.某些系统可能需要执行复杂的任务来处理文本文件,而不是每台计算机都是PC.
如果您对实现感兴趣,可以将其内容转储为十六进制字节:
#include <stdio.h>int main(voID) { file *fileptr = fopen("sample.txt","r+"); fpos_t pos; if (fileptr && fgetpos(fileptr,&pos) == 0) { printf("contents of pos: "); for (size_t i = 0; i < sizeof(pos); i++) { printf("%02X",((unsigned char *)&pos)[i]); } printf("\n"); } return 0;}
在许多现代系统中,您将获得0000000000000000,因为64位整数足以表示文件偏移所需的所有信息,但您不应该依赖于此.
总结以上是内存溢出为你收集整理的fpos_t类型变量的格式说明符?全部内容,希望文章能够帮你解决fpos_t类型变量的格式说明符?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)