c语言结构体写入文件创建txt文件并写入保存

C语言操作系统课程设计建立基于磁盘存储设备的FAT文件系统磁盘,设计,操作,操作系..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C语言操作系统课程设计建立基于磁盘存储设备的FAT文件系统
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口c语言怎么把结构体数组写入txt文件_百度知道
c语言怎么把结构体数组写入txt文件
if((fp1=fopen(&quot,&student[i]; for(i=0;
exit(0).0,sizeof(struct st),结果打开该txt发现是乱码,1.point2,%d;;N.point1,%f,怎么解决;
student[i],&student[i].txt&quot,%d;student,student[i];i&%s,student[i],%d;;n&quot.
} printf(&))==NULL)
{printf(&quot,
&student[i].math+student[i],&quot.wb&quot,%f;cannot open this file&#92.3;).ave=(student[i];
fwrite(&student[i],&student[i].);n&No Name Eng point Math point Phy point\i++)
{scanf(&quot.eng+student[i].phy,%s,&student[i],%f&quot.point3),&student[i].phy)&#47,fp1)我写的一个程序把数据输入到txt文件中
提问者采纳
math+student[i],&i&lt,%d,%d,student[i]。你用二进制形式将student,student[i].point3),student[i];3;%s.phy,& for(i=0;wb&quot.point3);,%s,%d,student[i], &student[i].point1.no. fprintf(fp1.eng+student[i].0;student,&student[i],%f,student[i];; } printf(&)b就是二进制的意思,student[i];cannot open this file&#92.math,&student[i].txt打开而fwrite也是将内存中的数据不经转换直接写入文件,%f&quot,student[i];); student[i],你试试看吧; exit(0).phy)&#47.point2.txt&))==NULL) {printf(&quot.txt&quot,%f,当然看到乱码了。你试试;%s.name,所以文件中保存的是二进制形式,%s,%f,%d:if((fp1=fopen(&quot.point2,&quot, student[i]fopen(&quot,student[i].point1,&student[i];i++) {scanf(&quot,%d,student[i];.phy,%d,%f&quot,%f;;n& }就是用fprintf函数写入文件,&student[i];No Name Eng point Math point Phy point&#92.eng.w&quot,&student[i];N.ave=(student[i];n&).no.math
提问者评价
可以,谢谢
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言怎么将一个字符串数组
写入txt 文件中 第2个“//”之前是将16进制转换为了字符串存储_C语言大全_优良自学吧 |
当前位置: >
> C语言怎么将一个字符串数组
写入txt 文件中 第2个“//”之前是将16进制转换为了字符串存储优良自学吧提供C语言怎么将一个字符串数组
写入txt 文件中 第2个“//”之前是将16进制转换为了字符串存储,C语言如何将一个字符串数组 写入txt 文件中 第2个“//”之前是将16进制转换为了字符串存储#include&stdio.h& #include&stdlib.h& #include&string.h& unsigned&chaC语言如何将一个字符串数组
写入txt 文件中 第2个“//”之前是将16进制转换为了字符串存储#include&stdio.h&
#include&stdlib.h&
#include&string.h&
unsigned&char&shuzi[64]=
{0xa,0xb,0x00,0x00,0x70,0x00,0x40,0x00,0x90,0x00,0x00,0x00,0x00,0x80,0x01,0x80,
0x1F,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
0x01,0x80,0x03,0xC0,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
unsigned&int&N16_32[32];
void&main()
int&i_1,j_1;
// unsigned&int&
&&&char&*string[32]={"","","","",""};
&&char&strinn[4];
char&stringn[5]="asdfg";
for(i_1=0,j_1=0;i_1&64,j_1&32;i_1++,j_1++)
&&&&&&& N16_32[j_1]&=(shuzi[i_1]&&8)|shuzi[++i_1];
&&&&&&&&printf("\n%x&:&%x;\n",j_1,N16_32[j_1]);
for(i=0;i&32;i++)
&&&&&&&itoa(N16_32[i],&strinn,&16);
&&&string[i]=&
&&&printf("integer&=&%x&string[%d]&=&%s\n",N16_32[i],&i,string[i]);
fp=fopen("d:\\MYFILE.txt","w");
&&&&&&&fwrite(string[0],5,1,fp);
printf("写入错误\n");
fclose(fp);
}------解决方案--------------------fwrite(string[0],5,1,fp);//将string[0]所指内存的前5个字节写入文件d:\\MYFILE.txt中(本文来自互联网,不代表搜站(/)的观点和立场)编辑推荐最近更新C语言文件操作_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
喜欢此文档的还喜欢
C语言文件操作
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:4.53KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢通过近来的学习,总结一下关于文件的读写操作以及文件的打开和保存的方法。
一、文件的读写操作:
(1)C语言对文件的读写操作
在C语言中,对文件的读写操作是用FILE结构体和常用的对文件操作的函数实现的,下面总结一下C语言中对文件操作的常用函数:
fopen()&& 打开以文件名指定的文件
fwrite()& 写文件
fread()& 读文件
fseek()& 移动文件的指针到新的位置通过该函数的参数设定的偏移量和初始位置
rewind()& 移动文件的指针到文件流的开始位置,在通常情况下可用fseek()实现相同的功能,但二者有区别
ftell()& 获得当前文件指针的位置,常用该函数获得文件的文件流的长度
fflush()& 刷新缓冲区中的内容,当文件写入时直接将文件流的内容从缓冲区写入磁盘,当读取文件时直接将磁盘文件写入缓冲区,而不必等程序运行结束或关闭程序。
fclose()& 关闭文件
memset()& 在一段内存块中填充某个给定的值
示例代码如下:
/**********************************************************&*&&&&&&&&&&&&&&& C语言实现文件写操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/
FILE *pFile=fopen("CLanguage.txt","w");fwrite("CLanguage",1,strlen("CLanguage"),pFile);//fseek(pFile,0,SEEK_SET);//fwrite("实现文件写操作",1,strlen("实现文件写操作"),pFile);fclose(pFile);
&/**********************************************************&*&&&&&&&&&&&&&&& C语言实现文件读操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/
FILE *pFile=fopen("CLanguage.txt","r");&//char ch[100];&//memset(ch,0,100);&//fread(ch,1,100,pFile);&//MessageBox(ch);&char* pB&&fseek(pFile,0,SEEK_END);&length=ftell(pFile);&pBuf=new char[length+1];&//fseek(pFile,0,SEEK_SET);&rewind(pFile);&fread(pBuf,1,length,pFile);&pBuf[length]=0;&MessageBox(pBuf);&fclose(pFile);
注意:在用C语言实现文件的读操作时,要注意文件的指针位置。而且还要注意文本文件和二进制文件的区别。
(2)C++实现对文件的读写操作
用C++语言实现文件的读写操作,要用到ofstream类和ifstream类,用该类的对象调用其成员函数Write()和Read()实现文件的读写。
示例代码如下:
/**********************************************************&*&&&&&&&&&&&&&&& C++实现文件写操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/&ofstream ofs("C++Language.txt");&ofs.write("C++Language",strlen("C++Language"));&ofs.close();
/**********************************************************&*&&&&&&&&&&&&&&& C++实现文件读操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/&ifstream ifs("C++Language.txt");&char ch[100];&memset(ch,0,100);&ifs.read(ch,100);&MessageBox(ch);&ifs.close();
注意:用C++实现文件的读写操作时,由于用到了ofstream类和ifstream类,所以要包含该类的头文件:
#include &fstream&
(3)Win32 API函数实现文件的读写操作
用Win32 API函数实现文件的读写操作常用的函数如下:
CreateFile()
WriteFile()
ReadFile()
CloseHandle()
示例代码如下:
/**********************************************************&*&&&&&&&&&&&&&&& Win32 API实现文件写操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/&HANDLE FileH&FileHandle=CreateFile("Win32 API.txt",GENERIC_WRITE,0,NULL,CREATE_NEW,&&FILE_ATTRIBUTE_NORMAL,NULL);&DWORD dwW&WriteFile(FileHandle,"Win32 API Function",strlen("Win32 API Function"),&&&dwWrites,NULL);&CloseHandle(FileHandle);
/**********************************************************&*&&&&&&&&&&&&&&& Win32 API实现文件读操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/&HANDLE FileH&FileHandle=CreateFile("Win32 API.txt",GENERIC_READ,0,NULL,OPEN_EXISTING,&&FILE_ATTRIBUTE_NORMAL,NULL);&DWORD dwR&char ch[100];&ReadFile(FileHandle,ch,100,&dwReads,NULL);&ch[dwReads]=0;&MessageBox(ch);&CloseHandle(FileHandle);
(4)MFC实现文件的读写操作
用MFC实现文件的读写操作,要用到CFile类,该类的构造函数和成员函数会完成一系列的文件操作的相关工作。
示例代码如下:
**********************************************************&*&&&&&&&&&&&&&&& MFC实现文件写操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/&CFile file("mfc.txt",CFile::modeCreate|CFile::modeWrite);&file.Write("Hello!阿波",strlen("Hello!阿波"));&file.Close();
/**********************************************************&*&&&&&&&&&&&&&&& MFC实现文件读操作&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/&CFile file("mfc.txt",CFile::modeRead);&DWORD&filelenth=file.GetLength();&char* pBuf=new char[filelenth+1];&pBuf[filelenth]=0;&file.Read(pBuf,filelenth);&MessageBox(pBuf);&file.Close();&delete pB
二、文件的打开和保存
文件的打开和保存会弹出文件打开和保存对话框,所以要用到CFileDialog类实现文件的打开和保存。在CFielDialog类的运用中,经常用到OPENFILENAME结构体,在该结构体中,有相关的变量可以设置文件打开和保存对话框的相关设置工作(如:对话框标题的设置、默认文件扩展名的添加、过滤器的设置等)。
示例代码如下:
/**********************************************************&*&&&&&&&& 文件对话框操作&&保存文件&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/&CFileDialog fileDlg(FALSE);&fileDlg.m_ofn.lpstrTitle="我的文件保存对话框";//对话框标题&fileDlg.m_ofn.lpstrFilter="TextFile(*.txt)\0*.txt\0AllFile(*.*)\0*.*\0\0";//过滤器的设置&fileDlg.m_ofn.lpstrDefExt="txt";//保存文件默认扩展名&if(IDOK==fileDlg.DoModal())&{&&CFile file(fileDlg.GetFileName(),CFile::modeCreate | CFile::modeWrite);&&file.Write("文件保存对话框",strlen("文件保存对话框"));&&file.Close();&}
/**********************************************************&*&&&&&&&& 文件对话框操作&&打开文件&&&&&&&&&&&&&&&&&&&&& *&***********************************************************/&CFileDialog fileDlg(TRUE);&fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";&fileDlg.m_ofn.lpstrFilter="TextFile(*.txt)\0*.txt\0AllFile(*.*)\0*.*\0\0";&&if(IDOK==fileDlg.DoModal())&{&&CFile file(fileDlg.GetFileName(),CFile::modeRead);&&DWORD fileL&&fileLength=file.GetLength();&&char* pBuf=new char[fileLength+1];&&pBuf[fileLength]=0;&&file.Read(pBuf,fileLength);&&MessageBox(pBuf);&&delete pB&&file.Close();&}
阅读(...) 评论()

我要回帖

更多关于 c语言读取txt文件数据 的文章

 

随机推荐