你这个属于二进制文件,大概的代码如下,具体要看你的dat的定义和链表的定义
string fn = "xxx.dat"; //字符串文件名
char * filename = fn.c_str();
FILE *fid;
fid = fopen(filename,"rb");
if(fid == NULL)
{
printf("读取文件出错");
return;
}
int mode = 1;
printf("mode为1,知道pos有多少个;mode为2,不知道pos有多少个\n");
scanf("%d",&mode);
if(1 == mode)
{
double pos[200];
fread(pos,sizeof(double),200,fid);
for(int i = 0; i < 200; i++)
printf("%lf\n", pos[i]);
free(pos);
}
else if(2 == mode)
{
//获取文件大小
fseek (fid , 0 , SEEK_END);
long lSize = ftell (fid);
rewind (fid);
//开辟存储空间
int num = lSize/sizeof(double);
double *pos = (double*) malloc (sizeof(double)*num);
if (pos == NULL)
{
printf("开辟空间出错");
return;
}
fread(pos,sizeof(double),num,fid);
for(int i = 0; i < num; i++)
printf("%lf\n", pos[i]);
free(pos); //释放内存
}
fclose(fid);
C++怎么把一个字符串作为文件名
10比如我有多个储存链表的dat文件,我用字符串读入其中一个文件的名称,然后我要打开并对这个文件里的信息进行操作,怎么做?
- 点赞
- 写回答
- 关注问题
- 收藏
- 复制链接分享
- 邀请回答
3条回答
为你推荐
- C++问题:如何去掉文件名后缀?只保留除后缀外的内容,详细请点击进来
- 开发语言
- c++
- c语言
- 2个回答
- QT代码,里面调用了一些Ubuntu命令,不是很明白其用途
- ubuntu
- c++
- unix
- c语言
- 2个回答
- 函数,以字符串和数字作为创建文件名的参数
- c++
- php
- 1个回答
- Unity C#通过动态链接库调用C++传递中文字符串乱码问题。
- c++
- unity
- 混编
- 乱码
- 2个回答
- c++如何批量读取多个文件夹下的文件并且把它赋值到数组中去?
- c++
- 图片
- 4个回答
- c++里怎么用字符串读入一个文件的名称然后把这个文件删除(文件与exe在同一目录下)
- c++
- 1个回答
- C++怎么把一个字符串作为文件名
- c++
- 3个回答
- 数据结构字符串匹配问题,急!!
- 数据结构
- c++
- 算法
- kmp
- 3个回答
- c++有获取core dump文件名的的api吗
- ubuntu
- c++
- 4个回答
- shell扩展注册成功,但没出现想要的效果
- 失败
- c++
- shell扩展
- windows
- 5个回答