如何把long型整数写入一个txt文件中???99999999999999999

Singal 2002-12-22 01:23:16
我写入的总是乱码,不知道是不是格式有问题。
...全文
466 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeqxd 2002-12-22
  • 打赏
  • 举报
回复
解决了?恭喜你:)我也瞎忙了一场。呵呵
zeqxd 2002-12-22
  • 打赏
  • 举报
回复
三色兄写的对是对,但你是固定下原值了啊。万一要随便输那不可能每次改源程序吧?

999999999999999999999999+985545454545545555555554545=?

小弟不惭,算法很死,源程序因为时间问题不写了,请各位大哥看看算法对不对:
#define Max 32767

char a[Max],b[Max],c[Max],d[Max]

1)a[Max]和b[Max]输入!='\0')
2) 转换a[Max]和b[Max]中的字符为数字;/*这我想是简单的,只要做数组中字符加减相对的ASCII码
/*C数组中用来放进位,D数组中放加的值*/
3) 遍历到a,b两个数组尾;/*这用两个FOR就能完成了*/
4)a数组中最后一个数字+b数组中最后一个数字的值放入d[Max]中
5)判断d[Max]是否大于10,大于10取余得个位取代d[Max]中原值,并c[max]中存入1。
6)再把a[Max-1],b[Max-1]和c[Max]中的值相加,重复操作第五步。
7)最后把D数给写入文件

写的有点乱,大家应该都能看明白吧?(脸红,“道行不深”)

TO楼主:
不知这个算法是否能对你有帮助。如果非常大的INT数,我想在C中只能用线性表这样的数据结构做。
sea_lover 2002-12-22
  • 打赏
  • 举报
回复
#include <fstream.h>
#include <ifstream.h>
void main()
{ ofstream outfile("a.txt");
long a;
cin >> a;
outfile << a << endl;
outfile.close();
}
Singal 2002-12-22
  • 打赏
  • 举报
回复
我现在已经解决问题了
johnny_jiang 2002-12-22
  • 打赏
  • 举报
回复
Singal (落花流水) :你的源程序可以分享给大家吗?让大家看看那里错了。
三色 2002-12-22
  • 打赏
  • 举报
回复
//我随便写了一个,但是能够直接运行。
#include "stdio.h"
int Long_Text(long *data,int n,FILE *fp)
{
int i;
for(i=0;i<n;i++)
{
fprintf(fp,"%ld ",data[i]);
if((i+1)%5==0)fprintf(fp,"\n");
}
return i;
}
main()
{
long data[11]={12345,67890,325,3446,1134,664,234,636,45,3245,21};
FILE *fp;
if((fp=fopen("d:\\text1.txt","w"))==NULL)
{printf("cannot open file!");return;}
Long_Text(data,11,fp);
}
NowCan 2002-12-22
  • 打赏
  • 举报
回复
fprintf(fp,"%ld",n);
SwordMan2001 2002-12-22
  • 打赏
  • 举报
回复
用专用的数学软件。

否则,得用字符数组装这些数字,再进行麻烦的处理。
suolunga500 2002-12-22
  • 打赏
  • 举报
回复
请教大家!多谢!
很长的整数的加减乘除运算怎么做才合适那!?
比如:999999999999999999999999+985545454545545555555554545=?
Singal 2002-12-22
  • 打赏
  • 举报
回复
这样存入的数据,如果我想顺序读出来,再次得到long型的整数,应该
怎么写语句?
sjd163 2002-12-22
  • 打赏
  • 举报
回复
基数表示所用的数制10表示10进制、16表示16进制、2表示2进制。
Singal 2002-12-22
  • 打赏
  • 举报
回复
那个转换的基数是什么意思?
比如我现在的数据是121103,保存的时候也应该这样保存,因为我还要读取这个数据,那基数是多少?
Singal 2002-12-22
  • 打赏
  • 举报
回复
for (i=0;i<total_num;i++)
{
num=pass[i];
ltoa(num,str,10);
fwrite(&str,sizeof(num),1,fp1);
}
是不是采用这种方式写入文件?
lulei 2002-12-22
  • 打赏
  • 举报
回复
大数化小
yuanque 2002-12-22
  • 打赏
  • 举报
回复
char *ltoa(long value,char *string,int radix)
将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
yuanque 2002-12-22
  • 打赏
  • 举报
回复
那将长整型转换成字符串ltoa
yatuor 2002-12-22
  • 打赏
  • 举报
回复
不会吧,不行的话,先转化为char*

70,031

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧