c语言中,怎样从文件中读取一个大数? 10

就是超过数据类型可以表示的数。。。我可以定位到那个大数,但是不会整个输出那个大数。。求解决方法... 就是超过数据类型可以表示的数。。。
我可以定位到那个大数,但是不会整个输出那个大数。。求解决方法
展开
 我来答
金色潜鸟
2012-07-04 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5695万
展开全部
用字符串。
FILE *fin;
char big_v[500];
fin= fopen("abc.txt","r");
...
fscanf(fin,"%s",big_v);
printf("the big value is %s\n",big_v);
====
如果数在一行,也可以用 fgets.
塞外飞客
2012-07-05 · 超过15用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:44.4万
展开全部
亲,不要把大数当数看, 要不然你会很痛苦的,想想一个数字有100位,1000位,你该怎么弄,而字符串就不一样了,输入输出都比较方便,所以把大数当成字符串输入输出,就好办多了亲
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tseug8271
2012-07-04 · TA获得超过1498个赞
知道小有建树答主
回答量:745
采纳率:100%
帮助的人:365万
展开全部
你想整个输出那个数?

用 fread 把 定位到的那个数 读入缓冲区

按字节输出缓冲区(低字节在前,注意顺序)
更多追问追答
追问
具体怎么弄,举个例子
追答
如果以16进制显示,大致是这样的

#include

int main()
{
FILE *fp;
int ofs=0, len=8;
char s[255];
char buf[255];
int i;
memset(buf, 0, sizeof(buf));
printf("Input File Name:");
scanf("%s", s);
fp = fopen(s, "rb");
if(fp!=NULL)
{
fseek(fp, ofs, SEEK_SET);
len = fread(buf, 1, len, fp);
for(i=len-1; i>=0; i--)
{
printf("%02X", buf[i]);
}
printf("\n");
fclose(fp);
}
else
{
printf("File %s not exists\n", s);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式