C语言中写文件如何改变文件存放的位置?
假设我的项目名为project1,位置在d盘上,如果我直接使用FILE*f=fopen("test.dat","w");fprintf(f,"%.5g,data");这样...
假设我的项目名为project1,位置在d盘上,如果我直接使用
FILE * f = fopen ("test.dat", "w");
fprintf (f,"%.5g,data");
这样的语句,那么test.dat文件会直接存放在D:\project1目录下面。
如果我希望将该文件存在d:\project1\data目录下,应该如何操作? 展开
FILE * f = fopen ("test.dat", "w");
fprintf (f,"%.5g,data");
这样的语句,那么test.dat文件会直接存放在D:\project1目录下面。
如果我希望将该文件存在d:\project1\data目录下,应该如何操作? 展开
展开全部
通过设置目标文件路径,可以改变文件的存放位置。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。一般的C语言教程都有文件操作一章,可以找本教材进一步学习。
2、例程:
#include<stdio.h>
int a;
char b,c[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打开输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
fscanf(fp1,"%d",&a);//从输入文件读取一个整数
b=fgetc(fp1);//从输入文件读取一个字符
fgets(c,100,fp1);//从输入文件读取一行字符串
printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
fputs(c,fp2);//向输出文件写入一行字符串
fputc(b,fp2);//向输出文件写入一个字符
fprintf(fp2,"%d",a);//向输出文件写入一个整数
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}
展开全部
你先强制转换那些字符为int型,然后用冒泡排序,然后再写入.
FILE*fp;
FILE*fp2;//建立两个指针文件流,是个指针,指向文件里的数据
fp=fopen("C:\DOS\A.DAT","rb");
fp2=fopen("C:\DOS\B.DAT","wb");
char a[10];
int b[10];
int i;
fread(&a,1,1,fp);
for(i=0;i<10;i++)
{b[i]=a[i];
}
冒泡排序a数组,从小到大,存到数组c,然后把c存到fp2,
fwrite(&c,1,1,fp2);
FILE*fp;
FILE*fp2;//建立两个指针文件流,是个指针,指向文件里的数据
fp=fopen("C:\DOS\A.DAT","rb");
fp2=fopen("C:\DOS\B.DAT","wb");
char a[10];
int b[10];
int i;
fread(&a,1,1,fp);
for(i=0;i<10;i++)
{b[i]=a[i];
}
冒泡排序a数组,从小到大,存到数组c,然后把c存到fp2,
fwrite(&c,1,1,fp2);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FILE * f = fopen ("d:\\project1\\data\\test.dat", "w"); //注意斜杠转义字符就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在文件名前加上完整路径"d:\XX\XX.DAT"
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询