在c语言中,怎么把数据连续的输入到文件中去?

作者&投稿:吕萍 (若有异议请与网页底部的电邮联系)
用C语言怎么向文本文档中输入数据?可以连续输入,但是我要的是我想输多少就输入多少。~

给跪了,你其他的数据结构都没讲清楚,还有你说的添加学生成绩是什么意思,该学生已经存在了而成绩需要改动吗?你最好把你学生信息数据结构发一下.

C语言将数输入到文件中:
首先,定义一个文件指针:FILE *fp;和一个数组:int a[5];
然后,打开文件:fp = fopen ("filename.txt", "w"); //"w"是打开文件方式,将原有内容清空写入新数据,如果文件不存在则新建,类似的还有"r"只读打开(不能写入);"a"向文件中追加内容,原有内容不变,等等
最好再加入一个判断是否成功打开文件的if语句:
if (fp == NULL)
{
printf ("文件打开失败!
");
exit (-1); //标记出错位置,需要包含头文件stdlib.h
}
把数据存入到数组里:
for (i=0; i<5; i++)
scanf ("%d", &a[i]);
再把数组里的数一个一个的保存到txt文件中:
for (i=0; i<5; i++)
fprintf (fp, "%d", a[i]); //fprintf 函数和printf 函数类似,只是输出的对象不同.fprintf 函数的输出对象是文件,而printf 函数的输出对象是屏幕
最后记得关闭文件: fclose (fp);
这样就把一组数保存到:filename.txt文件中了,下面是完整代码实现:
#include #include int main(){int i, a[5]; FILE *fp;fp = fopen ("filename.txt", "w");if (fp == NULL){printf ("文件打开失败!
");exit (-1); //标记出错位置,需要包含头文件stdlib.h}printf ("输入要保存到文件里的5个数:
");for (i=0; i<5; i++)scanf ("%d", &a[i]);for (i=0; i<5; i++)fprintf (fp, "%d ", a[i]);printf ("这5个数已成功保存到filename.txt文件中
");return 0;}C++语言将数输入到文件中:
C++有关文件的操作要包含头文件fstream,因为头文件fstream中定义了一个用于处理输出的ofstream的类
声明ofstream变量(对象):ofstream file;
声明一个变量(也可以是数组) int a;
需要将ofstream对象与文件关联起来,使用open()方法:file.open("filename.txt");
将对象与特定的文件关联以后把数输入到文本中简单得就像把数打印到屏幕一样
如果要把变量a的值输入到文件中就象这样: file << a;
这样就把数保存到文件中了!
同C语言一样使用完以后利用close()将其关闭:file.close();
完整实现:
#include #include using namespace std;int main(){int a; ofstream file;file.open ("filename.txt"); //将对象与文件关联cout > a;file << a;cout << "成功将数保存到filename.txt文件中去了!" << endl;file.close ();return 0;}综上,C语言和C++语言将数保存到文件还是有点区别的,只要撑握好它们的使用方法都很容易的!:

#include "stdio.h"
#define SIZE 4
struct student_type
{
char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];
void save()
{
FILE *fp;
int i;
if((fp=fopen("test.txt","wt"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<SIZE;i++)
fwrite(&stud[i],sizeof(struct student_type),1,fp);
fclose(fp);
}
void main()
{
int i;
for(i=0;i<SIZE;i++)
{
printf("第%d个学生的信息:\n",i+1);
scanf("%s",stud[i].name);
scanf("%d",&stud[i].num);
scanf("%d",&stud[i].age);
scanf("%s",stud[i].addr);
}
save();

}

printf("连续输入,字符 0 结束:\\n"); while (scanf("%s", word)!=("输入删除的单词\\n"); scanf("%s", word); deltree(root, word);

文件指针
int main()
{
FILE *fp=NULL;
fp=fopen("C:\\stp.TXT","r");

if(fp==NULL){
printf(" 文件不存在 \n");
return -1;
}

在c语言中,怎么把数据连续的输入到文件中去?
答:define SIZE 4 struct student_type { char name[10];int num;int age;char addr[15];}stud[SIZE];void save(){ FILE *fp;int i;if((fp=fopen("test.txt","wt"))==NULL){ printf("cannot open file\n");return;} for(i=0;i<SIZE;i++)fwrite(&stud[i],sizeof(struct student...

在c语言中,怎么把数据连续的输入到文件中去?
答:运行结果:文本中的内容:姓名:犀利哥 性别:男 年龄:十二岁 程序:include <stdio.h> include <stdlib.h> struct student { char name[30];char sex[10];char age[30];}stu;void main(void){ file pfile = null;pfile = fopen("d:\\简历.txt","r");fscanf(pfile,"姓名:%s\n",&...

在C语言中怎样从一个文件中连续获得数据并赋值给变量?
答:include <stdio.h>int main(){ FILE *fp;char x = 0;fp = fopen("Hello.txt","r");if (fp != NULL){ fscanf(fp,"%d",&x);fclose(fp);printf("x:%d\n",x);} else printf("Er\n");return 0;}//读取例子

C语言怎么样连续读取文件数据,统计单个文件的数据量
答:include<iostream> include<fstream> using namespace std;define n 3 int main(){ int i;char res[]="result",suffix[]=".txt",go_on;for(i=1;i<=n;i++){ char Rname[10],Wname[20];itoa(i,Rname,10);strcpy(Wname,Rname);strcat(Rname,suffix);strcat(Wname,res);strcat(Wname...

c语言编程中连续按回车输入数据问题
答:如果需要达到连续输入,连续输出的功能,那么程序中必须增加代码用于保存连续的输入数据,然后再依次换算这些数据,连续输出。比如:将主函数体换成如下代码 int main(){ int N;int i;float *a;float b;scanf("%d", &N);a = (float *)malloc(N, sizeof(float));for(i = 0; i < N; i+...

在c语言中,如何从键盘输入一串包含数字和字母的字符串,以连续的数字构...
答:is_number(char number); //判断一个char类型的元素是否为数字void delete_all();//删除动态数组int main(){ini();while (1){get_input();if (is_exit())break;split();delete_all();}delete_all();return 0;}int get_input(){int limit = INI,cnt = 0;char ch;...

C语言中,如何设置每行的数据个数
答:在C语言写程序输出时,要控制每行输出数据的个数,可以通过自定义计数器来完成。如:// 输出自然数1-30,每5个数为一行main(){ int i; int cnt=0; // 定义cnt用作输出数据的计数器,初始为0 for( i=1;i<=30;i++ ) // 循环30次 { printf("%5d",i); // 输出...

c语言中定义一个长度为200的数组,数组的值在每采样一次之后删除最先采...
答:可以定义3个变量,一个标记数组的实际存放数值的大小a,一个标记存放数值的起始位置b,一个标记存放下一个数值的位置c,你按照循环的方式存放数据,比如现在存放160个数据,又来了一个数据并删除第一个数据,那么a不变为160,b变为(b+1)%200,把数组m[c]变为你新采集的数,然后c变为(c+1)...

怎么用C语言的scanf实现一次输入若干个数据
答:根据需要一般选择如下3种方法:1,已知数量,且个数较少:scanf("%d%d%d",&a&b&c);2,已知数量,但数量较多:for(int i=0;i<n;i++)scanf("%d",&a[i]);3,不知道数量 int i=0;while(scanf("%d",&a[i])){ i++;}

想要同时在c语言中输入多个数该怎么办?
答:1、用malloc分配一块空间,比如int* a = (int*) malloc( 10*sizeof(int) );然后可以当成好像是数组一样使用,比如a[2] = 5;2、然后你需要增长的时候,就用realloc( a, 20*sizeof(int))扩展空间。不过每一次扩展都会有一次拷贝,相当于分配一块新的空间,然后把原来的数据拷贝过去,所以数组...