Ⅰ C#如何自定义文件类型 并设定好写入读取方式
这个其实不复杂,文件都是二进制的,一般情况下你只需要使用二进制序列化你的存储对象,有必要的话用加密流和压缩流包装两次,读取的时候逆序包装读取就可以了。
Ⅱ c语言写入文件方法
对于学号来说int 或是char的影响不是很大,没关系
至于读取数据方面我同意二楼的解释
Ⅲ vc++如何创建自定义的文件,并且写入读取文件
MFC:
CFile fe;
fe.Open( str, CFile::modeCreate | CFile::modeWrite );
fe.Write( str, str.GetLength() );
fe.Close();
读取是:
CFile fe;
fe.Open( str, CFile::modeRead );
fe.Read( buffer, MAX_LENGTH );
fe.Close();
缓冲区和读取长度视情况而定。
简单的说,这就是一个MFC版的读写文件基础。
扩展名只是表示文件类型的一个标志,不要扩展名也是可以的
Ⅳ 求linux下用C语言如何创建TXT文件,并写入数据的源程序
#include <stdio.h>
#include <string.h>
int main()
{
FILE *lp=NULL;//定义一个指向文件的指针.
char buff[512];
*lp=fopen("./abc.txt","w");//以"写"的方式创建abc.txt
printf("enter a string:");
gets(buff);
fputs(buff,lp);//把字符串buff的值写到abc.txt中.
fclose( lp );//关闭文件.
return 0;
}
Ⅳ C++ 如何用创建txt文件,并且写入内容
FILE *fp = fopen("1.txt","w"); //这一行代表创建txt文件
fprintf(fp,"abc\n"); //这一行代表写入内容
Ⅵ C++ 创建一个文件filel.dat,并向文件中写入一段话如:"我是张三."
//====================================================
//名称:C++文件示例
//作者:Tao
//时间:2010-11-01
//简介:在当前目录创建一个file.dat文件并写入一些文本
//====================================================
#include <iostream>
#include <fstream> using namespace std; int main(int argc, char *argv[])
{ ofstream fileStream("file.dat", ios_base::out); if (!fileStream)
{
cout<<"创建file.dat失败!"<<endl;
} fileStream << "我是张三."; fileStream.close(); return 0;
}
Ⅶ C程序中怎么用代码创建文件并写入动态链表的数据
链表文件写入与读出,代码示例一:
#include<stdio.h>
struct student
{
int number;
char name;
struct student*next;
};
void save();
void print();
int main()
{
struct student *head=(struct student *)malloc(sizeof(struct student)) ;
head->number=2;
head->name='a';
save(head);
print(head);
getch();
}
void save (struct student *head)
{
FILE *p=fopen("d:\txt.txt","wb");
fwrite(head,sizeof(struct student),1,p);
fclose(p);
}
void print()
{
struct student *head;
FILE *p=fopen("d:\txt.txt","rb");
fread(head,sizeof(struct student),1,p);
fclose(p);
printf("%d
",head->number);
printf("%c
",head->name);
}
再提供一个关于动态链表的例子,该程序实现以下功能:
1. initlist_l(lnode&L); //建立一个带头结点的空链表
2. locationelem(linklist L, int i, elemtype &e); //在带头结点的单链表中查找第i个节点,若存在,则返回第i个元素的
值;否则返回error
3. listinsert_l(linklist &L, ini i, elemtype e); //在带头结点的单链表中第i个结点之前插入元素e
4. listdelete_l(linklist &L, int i, elemtype &e); //删除带头结点的单链表L上的第i个数据结点并用e返回其值
5. createlist_l(linklist &L, int n); //通过头插法建立一个含n个结点的单链表
6. createlist_lt(linklist &L, int n); //通过尾插法建立一个含n个结点的单链表
7. display_l(linklist L); //打印链表
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedefintelemtype;//用户自定义数据类型
typedefstructlnode
{
elemtypedata;
structlnode*next;
}lnode,*linklist;//结点类型
voidinitlist_l(linklist&L);
voidcreatelist_l(linklist&L,intn);
voiddisplay_l(linklistL);//打印链表
voidlocationelem(linklistL,inti,elemtype&e);
voidlistinsert_l(linklist&L,inti,elemtypee);
voidlistdelete_l(linklist&L,inti,elemtype&e);
voiddestroy_l(linklist&L);//销毁链表
intmain(void)
{
elemtypee=3,x,insertdata;
intnum,insertnum,deletenum,len;
linklistL;
initlist_l(L);//通过函数分配内存空间
printf("输入链表的长度:");
scanf("%d",&len);
createlist_l(L,len);//建立含len个结点的链表
display_l(L);
printf("输入要显示的结点序号:");
scanf("%d",&num);
locationelem(L,num,e);
printf("%d ",e);
printf("输入插入的位置:");
scanf("%d",&insertnum);
printf("插入的数字:");
scanf("%d",&insertdata);
listinsert_l(L,insertnum,insertdata);//将insertdata插入链表的第insertnum结点之前
display_l(L);
printf("输入删除的结点序号:");
scanf("%d",&deletenum);
listdelete_l(L,deletenum,e);
printf("删除结点的数据域是:%d ",e);
display_l(L);
destroy_l(L);
return0;
}
voidinitlist_l(linklist&L)
{
L=(linklist)malloc(sizeof(lnode));
if(L==NULL)
exit(1);
L->next=NULL;
}
voidlocationelem(linklistL,inti,elemtype&e)
{
linklistp=L;//p指向表头
intj=0;//j的初值为0,即为头结点的序号
while(j<i&&p!=NULL)
{
p=p->next;
j++;//后移指针并计数
}
if(p==NULL||j>i)
{
printf("该结点不存在 ");
return;
}
e=p->data;
}
voidcreatelist_l(linklist&L,intn)
{//头插法
inti;
linklists;//这里相当于lnode*s;
if(L==NULL)
exit(3);
printf("输入%d个整数: ",n);
for(i=0;i<n;i++)
{
s=(linklist)malloc(sizeof(lnode));
if(s==NULL)//判断s分配空间是否成功
exit(4);
scanf("%d",&s->data);
s->next=L->next;
L->next=s;
}
}
voidlistdelete_l(linklist&L,inti,elemtype&e)
{
intj=0;
linklistp,r=L;
while(r->next&&j<i-1)
{//查找第i-1个节点
r=r->next;
j++;
}
if(r->next==NULL||j>i-1)
{
printf("链表中没有结点i ");
return;
}
p=r->next;
r->next=p->next;
free(p);
}
voidlistinsert_l(linklist&L,inti,elemtypee)
{
linklists,r=L;
intj=0;
while(r->next&&j<i-1)
{//找到第i-1个结点
r=r->next;
j++;
}
if(r==NULL||j>i-1)//老老实实第写r==NULL,不要刷帅写!r(很容易出错)
{
printf("链表的结点数小于i-1,或i<1 ");
return;
}
s=(linklist)malloc(sizeof(lnode));
if(s==NULL)
exit(4);
s->data=e;
s->next=r->next;
r->next=s;
}
voiddisplay_l(linklistL)
{
printf("当前链表值为: ");
linklistp=L->next;
while(p)
{
printf("%d",p->data);
p=p->next;
}
printf(" ");
}
voiddestroy_l(linklist&L)
{//一个一个地删除结点
linklistp=L->next;
while(p)
{
L->next=p->next;
free(p);
p=L->next;
}
free(L);
printf("链表已销毁 ");
}
尾插法:
{
linklistr=L,s;
inti;
while(r->next)
r=r->next;
for(i=0;i<n;i++)
{
s=(linklist)malloc(sizeof(lnode));
if(s==NULL)
exit(5);
scanf("%d",&s->data);
s->next=r->next;
r->next=s;
r=s;
}
}
注:来源均来自网络...
Ⅷ 请问大神如何在VC++根据当前路径新建文件并写入数据
CFile类完全可以用自己定义的文件名来创建文件的啊
你可以用CTime::GetCurrenttime函数(记不太清楚了,好像是这样)获取系统时间,然后在字符串后面加上wifidata就行了啊,路径你用相对路径就可以实现,而且你是在EXE文件路径,直接写文件名就行了,当然你如果用VC调试时候是在VC工程所在路径下,你打开DEBUG文件夹直接运行产生的EXE就在当前目录中咯
Ⅸ C语言如何写入文本文件
1、首先输入下方的代码
#include <stdio.h>
int main()
{
//下面是写数据,将数字~9写入到data.txt文件中
FILE *fpWrite=fopen("data.txt","w");
if(fpWrite==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
fprintf(fpWrite,"%d ",i);
fclose(fpWrite);
//下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上
int a[10]={0};
FILE *fpRead=fopen("data.txt","r");
if(fpRead==NULL)
{
return 0;
}
for(int i=0;i<10;i++)
{
fscanf(fpRead,"%d ",&a[i]);
printf("%d ",a[i]);
}
getchar();//等待
return 1;
}
Ⅹ C#创建文本文件,并写入的问题
class WriteTextFile
{
static void Main()
{
//如果文件不存在,则创建;存在则覆盖
//该方法写入字符数组换行显示
string[] lines = { "first line", "second line", "third line","第四行" };
System.IO.File.WriteAllLines(@"C:\testDir\test.txt", lines, Encoding.UTF8);
//如果文件不存在,则创建;存在则覆盖
string strTest = "该例子测试一个字符串写入文本文件。";
System.IO.File.WriteAllText(@"C:\testDir\test1.txt", strTest, Encoding.UTF8);
//在将文本写入文件前,处理文本行
//StreamWriter一个参数默认覆盖
//StreamWriter第二个参数为false覆盖现有文件,为true则把文本追加到文件末尾
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\testDir\test2.txt",true))
{
foreach (string line in lines)
{
if (!line.Contains("second"))
{
file.Write(line);//直接追加文件末尾,不换行
file.WriteLine(line);// 直接追加文件末尾,换行
}
}
}
}
}