字符串是一种面向对象、解释型计算机程序设计语言先读取file文件中所有内容,然后在对改内write容进行处理,最后在写入到文件中。
字符串由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块尤其是CCHIZ很轻松地联结在一起。
file对象write用法常见的一种应用情形是,使用Python快速生成程序的原型,有时甚至是程序的最终界面,然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用CCHIZ重写。
不能用a+,用a模式时,每次写入数据时系统都会自动将读写位置跳到文件结尾,确保已经存在的数据不会被修改。修改如下:
//---------------------------------------------------------------------------
#include<stdio.h>
#include
<stdlib.h>
char
*
read(FILE
*fp)
/*注意这里,将fp文件中的剩余部分读取到一个字符数组中,并返回数组地址*/
{
char
c,*t=NULL
int
i=0
t=malloc(sizeof(char))
while
((c=fgetc(fp))!=EOF)
{
t[i++]=c
t=realloc(t,sizeof(char)*(i+1))
}
if
(i)
t[i]='\0'
else
{
free(t)
t=NULL
}
return
t
}
void
write(FILE
*fp,const
char
*t)/*注意这里,将read()函数读取的内容写入fp文件中的当前读写位置*/
{
int
i
for
(i
=
0
t[i]
i++)
{
fputc(t[i],fp)
}
free(t)
}
void
main()
{
int
i
char
c
char
*t
/*注意这里*/
FILE
*fp
fpos_t
ps
/*注意这里,用于记录文件的读写位置*/
fp=fopen("E:/te.txt","r+")
while
((c=fgetc(fp))!=EOF)
/*注意这里*/
{
if
(c=='
')
{
fgetpos(fp,&ps)
/*注意这里*/
t=read(fp)
/*注意这里*/
fsetpos(fp,&ps)
/*注意这里*/
fseek(fp,-1*sizeof(c),SEEK_CUR)
/*注意这里*/
for(i=0i<12i++)
fputc('\t',fp)
/*注意这里*/
fgetpos(fp,&ps)
/*注意这里*/
write(fp,t)
/*注意这里*/
fsetpos(fp,&ps)
/*注意这里*/
}
}
fclose(fp)
}
//---------------------------------------------------------------------------
1、C语言标准库提供了一系列文件 *** 作函数。文件 *** 作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件 *** 作位置的获取与设置。一般的C语言教程都有文件 *** 作一章,可以找本教材进一步学习。2、例程:#include<stdio.h>int achar b,c[100]int main(){FILE * fp1 = fopen("input.ini", "r")//打开输入文件FILE * fp2 = fopen("output.ini", "w")//打开输出文件if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出puts("不能打开文件!") rturn 0 }fscanf(fp1,"%d",&a)//从输入文件读取一个整数b=fgetc(fp1)//从输入文件读取一个字符fgets(c,100,fp1)//从输入文件读取一行字符串 printf("%ld",ftell(fp1))//输出fp1指针当前位置相对于文件首的偏移字节数 fputs(c,fp2)//向输出文件写入一行字符串fputc(b,fp2)//向输出文件写入一个字符fprintf(fp2,"%d",a)//向输出文件写入一个整数 fclose(fp1)//关闭输入文件fclose(fp2)//关闭输出文件,相当于保存return 0}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)