
正文
c语言文本定位函数 c语言定位字符串的某个字符
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言操作文本的基本使用方法
c语言操作文本应该怎么使用,这对于很多新手来说,是很难的一件事情,下面我为大家带来了关于c语言操作文本的基本使用方法,欢迎大家阅读!
c语言操作文本的基本使用方法
1.字符读写:
fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:
字符变量=fgetc(文件指针);
fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为:
fputc(字符量,文件指针);
2.字符串读写
读字符串函数fgets
函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:
fgets(字符数组名,n,文件指针);
写字符串函数fputs
fputs函数的功能是向指定的文件写入一个字符串,其调用形式为:
fputs(字符串,文件指针);
3.数据块读写
读数据块函数调用的一般形式为:
fread(buffer,size,count,fp);
写数据块函数调用的`一般形式为:
fwrite(buffer,size,count,fp);
4.格式化读写
fscanf函数,fprintf函数与前面使用的scanf和printf函数的功能相似,都是格式化读写函数。两者的区别在于fscanf函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。
这两个函数的调用格式为:
fscanf(文件指针,格式字符串,输入表列);
fprintf(文件指针,格式字符串,输出表列);
文件定位
移动文件内部位置指针的函数主要有两个,即rewind函数和fseek函数。
rewind函数前面已多次使用过,其调用形式为:
rewind(文件指针);
它的功能是把文件内部的位置指针移到文件首。
下面主要介绍fseek函数。fseek函数用来移动文件内部位置指针,其调用形式为:
fseek(文件指针,位移量,起始点);
其中:
“文件指针”指向被移动的文件。
“位移量”表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB时不会出错。当用常量表示位移量时,要求加后缀“L”。
“起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。其表示方法如下表。
c语言操作文本的基本使用方法1
起始点表示符号数字表示
文件首SEEK_SET0
当前位置SEEK_CUR1
文件末尾SEEK_END2
例如:
fseek(fp,100L,0);
其意义是把位置指针移到离文件首100个字节处。
还要说明的是fseek函数一般用于二进制文件。在文本文件中由于要进行转换,故往往计算的位置会出现错误。
c语言中常用的文件检测函数有以下几个。
文件结束检测函数feof函数
调用格式:
feof(文件指针);
功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。
读写文件出错检测函数
ferror函数调用格式:
ferror(文件指针);
功能:检查文件在用各种输入输出函数进行读写时是否出错。如ferror返回值为0表示未出错,否则表示有错。
文件出错标志和文件结束标志置0函数
clearerr函数调用格式:
clearerr(文件指针);
功能:本函数用于清除出错标志和文件结束标志,使它们为0值。
相关问答
Q1: C语言 文件定位
C语言文件定位,主要依靠fseek函数实现,具体代码如下,
#include stdio.h
int main(int argc, char *argv[])
{
FILE *fp=NULL;
long len=0L;//文件长度
fp=fopen("test.dat","rb");//假设当前目录有test.dat文件
if(!fp)//检查文件打开是否正常
{
printf("文件打开失败,程序退出!\n");
exit(1);
}
fseek(fp,0L,SEEK_END);//文件定位到文件末尾
len=ftell(fp);//获取文件长度
if(len/10240)
printf("文件大小为%ldKB!\n",len/1024);
else
printf("文件大小为%ldB!\n",len);
rewind(fp);//文件指针移到开始处
if(fp)//关闭文件
{
fclose(fp);
fp=NULL;
}
return 0;
}
int fseek( FILE *stream, long offset, int origin );函数fseek()为文件指针stream设置位置数据。origin的值应该是下列值之一,
SEEK_SET(从文件的开始处开始搜索)
SEEK_CUR(从当前位置开始搜索)
SEEK_END(从文件的结束处开始搜索)
fseek()成功时返回0,失败时返回非零。
Q2: C语言中如何定位文件txt的光标
1、使用fseek函数即可更改文件指针的位置。
函数名: fseek
功 能: 重定位流上的文件指针
用 法: int fseek(FILE *stream, long offset, int fromwhere);
描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值: 成功,返回0,否则返回其他值。
2、例子:
fseek(fp,100L,0);//把文件内部指针移动到离文件开头100字节处;
fseek(fp,100L,1);//把文件内部指针移动到离文件当前位置100字节处;
fseek(fp,-100L,2);//把文件内部指针退回到离文件结尾100字节处。
Q3: C++中如何定位到文本文件的最后一行,并读取最后一行的数据
用seekg()函数去一行一行的读取文件中的内容,至到读到文件最后一行就可以读取最后一行的数据了!下面给你一个例子:for(m=0;m10;m++)
{ int i=0;if(file)
{file.seekg(m);brwhile(!file.eof()isizeof buffer)br file.get(buffer[i++]); }
std::string b;
b.append(buffer);}
}
Q4: C语言查找字符串位置函数。请高手帮忙解决
#includestdio.h
#includestring.h
int findstr(char *s_str,char *d_str);
int main(void) {
char s1[80],s2[80];
int n;
printf("请输入一个字符串:");
gets(s1);
printf("请输入你要查找的字符串:");
gets(s2);
n=findstr(s1,s2);
printf("%s在%s里共有%d个\n",s2,s1,n);
return 0;
}
int findstr(char *s_str,char *d_str) {
int i,j,k,count=0;
char temp[80];
int length=strlen(d_str);
for(i=0;istrlen(s_str);i++) {
k=0;
for(j=i;ji+length;j++)
temp[k++]=s_str[j];
temp[k]='\0';
if(!strcmp(temp,d_str)) count++;
}
return count;
}
Q5: C语言中文本文件定位用什么函数
c语言c语言文本定位函数的文件定位是fseek函数fseek(文件指针c语言文本定位函数,位偏移,起始点);起始点c提供了文件开始
文件当前位置
文件末尾三个值分别对应0
1
2,位偏移是只偏移多少个字节而不是几行c语言貌似不支持以行的形式移动指针
例:fseek(fp,100L,0);将位置指针移到离文件头100个字节处
如果第二个参数是负数的就是后退多少字节
c语言文本定位函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言定位字符串的某个字符、c语言文本定位函数的信息别忘了在本站进行查找喔。








