本文目录一览:
- 1、c语言中怎么向文件中写入数据啊 具体点 谢谢
- 2、c语言怎么将数据写入文件
- 3、关于C语言的数据录入功能,录入B.txt文件,要有学生的学号,课程编号,课程名称,学分等等内容
- 4、如何用c语言中在文档中输入想输入的任何东西
- 5、C语言 关于从文件输入数据
c语言中怎么向文件中写入数据啊 具体点 谢谢
不知你向文件输入的是什么数据,输入数据的函数很多,有fputc(s,fp);有fwrite()函数、、、、
下面是想文件输入字符,并把字符串中的小写字符转换成大写字符:
#includestdio.h
#includestdlib.h
#includectype.h
int main()
{
FILE *fp;
char filename[20];
printf("请输入文件的名称:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file ,,,\n");
exit(0);
}
printf("请输入字符直至结束(ctrl +z):");
fflush(stdin);
char s;
while(scanf("%c",s),=EOF)
{
if(islower(s))
s=toupper(s);//把小写字符转换成大写字符
fputc(s,fp);
}
rewind(fp);//是位置指针重新返回文件的开头,此函数没有返回值
if((fp=fopen(filename,"r"))==NULL)//以读的方式打开文件
{
printf("cannot open file ,,,\n");
exit(0);
}
while(,feof(fp))
{
s=getc(fp);
putchar(s);
}
return 0;
}
测试:
请输入文件的名称:hello
请输入字符直至结束(ctrl +z):hello world ,
Z
Z。
c语言怎么将数据写入文件
可以使用C语言中的文件操作函数,将数据写入文件。具体如下
一、打开文件。
使用fopen函数。格式为:
FILE *fopen(const char *name, const char * mode);
其中name为要写入的文件名,mode为格式字符。要写入文件,mode可以是:
1、 "w" 只写方式,文本形式输入;
2、"wb" 只写方式,二进制形式输入;
3、"wb+" 读写方式,二进制形式输入;
4、"w+" 读写方式,文本形式输入;
5、"a" 追加方式,写入文件结尾,文本形式输入;
6、"ab" 追加方式,写入文件结尾,二进制形式输入;
7、"ab+" 追加方式,可读写,写入文件结尾,二进制形式输入;
8、"a+" 追加方式,可读写,写入文件结尾,文本形式输入;
二、写入数据。
可以使用各种写入函数,向文件写入。 如打开的文件指针为fp,可以使用如下函数:
1、 fputc, 写入一个字符。声明为:
int fputc(int ch, FILE *fp);
2、fputs, 写入一个字符串,声明为:
char * fputs(const char *str, FILE *fp);
3、fprintf,格式化写入,功能和printf类似。 声明为:
int fprintf(FILE *fp, const char *fmt, ...);
4、 fwirte, 按块写入二进制数据,声明为:
int fwirte(char *buf, int block_size, int block_number, FILE *fp);
三、写入完毕后,调用fclose关闭文件:
int fclose(FILE *fp);
关于C语言的数据录入功能,录入B.txt文件,要有学生的学号,课程编号,课程名称,学分等等内容
#includestdio.h
#includestring.h
#includemalloc.h
#define MaxSize 1000 //定义学生最大人数为1000人
struct student
{
int num;
char name[10];
float score1;
float score2;
float score3;
float score4;
float score5;
float total;
float average;
}stud[MaxSize],stud1[MaxSize];
int n;
void creat()
{
int i;
for(i=0;in;i++)
{
printf("请输入该学生的学号:");
scanf("%d",stud[i].num);
printf(" 姓名:");
scanf("%s",stud[i].name);
printf(" 第一门课的成绩:");
scanf("%f",stud[i].score1);
printf(" 第二门课的成绩:");
scanf("%f",stud[i].score2);
printf(" 第三门课的成绩:");
scanf("%f",stud[i].score3);
printf(" 第四门课的成绩:");
scanf("%f",stud[i].score4);
printf(" 第五门课的成绩:");
scanf("%f",stud[i].score5);
printf("\n");
}
}
void print(struct student studx[])
{
int i;
printf(" 学号 姓名 成绩1 成绩2 成绩3 成绩4 成绩5 总分 平均分\n");
for(i=0;in;i++)
printf("%5d %10s %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f\n",studx[i].num,studx[i].name,studx[i].score1,studx[i].score2,studx[i].score3,studx[i].score4,studx[i].score5,studx[i].total,studx[i].average);
}
void order() //排序
{
struct student m;
int i,j;
for(i=0;in;i++)
{
stud[i].total=stud[i].score1+stud[i].score2+stud[i].score3+stud[i].score4+stud[i].score5;
stud[i].average=stud[i].total/5;
}
for(j=0;jn-1;j++)
for(i=0;in-1-j;i++)
if(stud[i].averagestud[i+1].average)
{
m=stud[i];
stud[i]=stud[i+1];
stud[i+1]=m;
}
}
void search()//查找
{
int i,j=0,x;
struct student m;
loop:printf("请选择要查找的项目:\n");
printf("1.学号\n2.姓名\n3.成绩1\n4.成绩2\n5.成绩3\n6.成绩4\n7.成绩5\n8.总分\n9.平均分\n");
printf("请输入您希望查询的项目编号(仅支持单项查找):");
scanf("%d",i);
printf("请输入内容:");
switch(i)
{
case 1: scanf("%d",m.num);break;
case 2: scanf("%s",m.name);break;
case 3: scanf("%f",m.score1);break;
case 4: scanf("%f",m.score2);break;
case 5: scanf("%f",m.score3);break;
case 6: scanf("%f",m.score4);break;
case 7: scanf("%f",m.score5);break;
case 8: scanf("%f",m.total);break;
case 9: scanf("%f",m.average);break;
default:printf("error\n");
}
for(i=0;in;i++)
{
if(stud1[i].num==m.num||strcmp(stud1[i].name,m.name)==0||stud1[i].score1==m.score1||stud1[i].score2==m.score2||stud1[i].score3==m.score3||stud1[i].score4==m.score4||stud1[i].score5==m.score5||stud1[i].total==m.total||stud1[i].average==m.average)
{
printf("找到了:\n 学号 姓名 成绩1 成绩2 成绩3 成绩4 成绩5 总分 平均分\n%5d %10s %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f %6.2f\n",stud1[i].num,stud1[i].name,stud1[i].score1,stud1[i].score2,stud1[i].score3,stud1[i].score4,stud1[i].score5,stud1[i].total,stud1[i].average);
j++;
}
}
if(j==0) printf("没有找到该项!\n");
printf("继续查找请按1,退出请按0:");
scanf("%d",x);
if(x==1) goto loop;
}
void save() //把数据写入磁盘文件
{
FILE *fp;
int i;
if((fp=fopen("student","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;in;i++)
if(fwrite(stud[i],sizeof(struct student),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
void load() //从磁盘文件读入内容
{
FILE *fp;
int i;
if((fp=fopen("student","rb"))==NULL)
{
printf("cannot open infile\n");
return;
}
for(i=0;in;i++)
if(fread(stud1[i],sizeof(struct student),1,fp)!=1)
{
if(feof(fp)) {fclose(fp);return;}
printf("file read error\n");
}
fclose(fp);
}
void main()
{
char c;
int i;
FILE *fp;
printf("请输入学生个数:");
scanf("%d",n);
creat();
printf("原数据为:\n");
print(stud);
order();
printf("按平均分排序之后的数据为:\n");
print(stud);
save();
load();
printf("最终写入文件的数据,并从文件中得到的数据为:\n");
print(stud1);
printf("是否进行查找操作(y or n):");
scanf("%s",c);
if(c=='y'||c=='Y') search();
}
如何用c语言中在文档中输入想输入的任何东西
fgetc从文件读一个字符 ,回车符是'\n'
例如,从test.txt读一行
#include stdio.h
#include stdlib.h
int main(void)
{
FILE * fp;
char * name = "test.txt";
char c;
if( (fp=fopen(name,"rb")) == NULL )
{
printf("Can not open %s!\n",name);
exit(1);
}
c = fgetc(fp);
while( (!feof(fp)) (c != '\n') )
{
printf("%c",c);
c = fgetc(fp);
}
fclose(fp);
return 0;
}
另外,虚机团上产品团购,超级便宜
C语言 关于从文件输入数据
1)
所谓输入输出是以计算机为主体而言的。
2)
在c语言中,所有的数据输入/输出都是由库函数完成的。因此都是函数语句。
3)
在使用c语言库函数时,要用预编译命令
#include
将有关“头文件”包括到源文件中。
使用标准输入输出库函数时要用到
“stdio.h”文件,因此源文件开头应有以下预编译命令:
复制纯文本新窗口1.
#includestdio.h#includestdio.h或
复制纯文本新窗口1.
#include
"stdio.h"#include "stdio.h"stdio是standard
inputoutupt的意思。
4)
考虑到printf和scanf函数使用频繁,系统允许在使用这两个函数时可不加
复制纯文本新窗口1.
#includestdio.h#includestdio.h或
复制纯文本新窗口1.
#include
"stdio.h"