要读取一个txt文件,首先要使用文件打开函数fopen()。
fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,逗文件指针名地必须是被说明为FILE 类型的指针变量,逗文件名地是被打开文件的文件名。 逗使用文件方式地是指文件的类型和 *** 作要求。逗文件名地是字符串常量或字符串数组。
其次,使用文件读写函数读取文件。
在C语言中提供了多种文件读写的函数:
·字符读写函数 :fgetc和fputc
·字符串读写函数:fgets和fputs
·数据块读写函数:freed和fwrite
·格式化读写函数:fscanf和fprinf
最后,在文件读取结束要使用文件关闭函数fclose()关闭文件。
下面以格式化读写函数fscanf和fprintf为例,实现对文件Atxt(各项信息以空格分割)的读取,并将它的信息以新的格式(用制表符分割各项信息)写入Btxt,实现对Atxt的处理。
C语言源程序如下所示:
#include <stdioh>
#include <stdlibh>
#include <asserth>
typedef struct student{
char name[32];
int no;
char sex[16];
float score;
} stu;
int main(int argc, char argv[])
{
//打开文件
FILE r=fopen("Atxt","r");
assert(r!=NULL);
FILE w=fopen("Btxt","w");
assert(w!=NULL);
//读写文件
stu a[128];
int i=0;
while(fscanf(r,"%s%d%s%f",a[i]name,&a[i]no,a[i]sex,&a[i]score)!=EOF)
{
printf("%s\t%d\t%s\t%g\n",a[i]name,a[i]no,a[i]sex,a[i]score);//输出到显示器屏幕
fprintf(w,"%s\t%d\t%s\t%g\n",a[i]name,a[i]no,a[i]sex,a[i]score);//输出到文件Btxt
i++;
}
//关闭文件
fclose(r);
fclose(w);
system("pause");
return 0;
}
三、程序阅读题
1.阅读以下程序,若输入60,写出程序运行结果。
#include<stdioh>
void main()
{ int x;
scanf("%d ",&x);
if (x>=60)
printf("pass");
else
printf("fail");
}
结果:pass
2.阅读以下程序,若输入5,写出程序运行结果。
#include <stdioh>
int main( )
{ int i, n;
double fact;
scanf("%d", &n);
fact=1;
for(i=1;i<=n;i++)
fact=i;
printf("%0f\n", fact);
结果:120
第一步:下载c-free5软件安装,打开后,新建一个空白文件。
注意:如果是软件工程的话,就要新建工程
第二步:打开构建-构建选项-选择编译,设置类别为c-language,在两个iso名称的选项框上打钩(如图),点击确定。
第三步:开始编写程序,编写完成后,点击运行(快捷键为F5),然后看下面的构建表中是否有错误提醒,如果有错误,根据上面的提醒改掉错误,再次运行。
第四步:确定编写的程序正确后,运行,如图,程序运行成功,保存。下次直接打开exe文件进行运行就可以了。
简单的话, 找个整合式开发环境(IDE), 内建有编辑文本环境/compiler/linker的 单纯练习语法, 某些网站甚至提供线上compile&run
我比较常见到的, 又比较小的是windows上的Dev C++; 古老一点的可能会看到TC (不过我已经没再用这几个了)
IDE只是个整合环境, 多数还能够容纳不同种类语言的编译程序 所以只要有支持C就可以, 不用太在意名称是不是C++ 初学者的使用, 我会建议找些小型的IDE, 避免编辑环境过於复杂
linux下面的概念是一切皆文件。所以没有像c盘d盘这样的东西,有的只是各种各样的文件夹和文件。要读一个linux下面的文件很简单,命令pwd可以得到当前路径,然后路径接上你打开的文件名就可以知道这个文件的详细路径了。直接open就可以了。
大家的回答都差不多是正确的,简单说一下为啥是这个结果吧,希望对你帮助
注:ConsoleWriteLine() 输入后回车,大家回答时都换成一行了。
1.10,30
原因:值类型在赋值时,是在栈上新申请内存,即是新创建,不会对原来的值产和影响
2.Wed
原因:C#当中枚举类型的值,创建后,默认的顺序是从0开始,后面的值依次加1,可与int型进行转换,但输出时会输出定义的名字Web
3.18,小芳
原因:Struct是值类型,参见1
4.4123
原因: ArraySort,Array的索引是从0开始,第二个参数是起始位置,第三个参数是要排序的长度
5105 100
原因:105是通过构造函数进行赋值,不会走Age属性,而100是通过Age属性进行赋值的。
618 18 19
原因:和问题1是相同,只有一点不同在public void ChangeAge(int age)这个方法当中,如果方法当中的变量与类中成员同名,则会覆盖类成员,要想在方法当中使用类成员,必须使用this进行显示声明
713
原因:这个没什么说的,值类型不需要考虑变量名称,只考虑变量的值就可以。
815
原因:对于值类型,在方法当中,如果定义为out或ref则会当作引用类型(这句话是我自己的理解,没有分析过IL代码)
以上就是关于C语言程序怎样读写文档的全部内容,我这个应该怎样去修改全部的内容,包括:C语言程序怎样读写文档的全部内容,我这个应该怎样去修改、关于C语言的、怎么用C语言打开一个应用程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)