"stdio.h"
#include
"string.h"
void
main()
{
int
n
FILE
*fin
char
s[25]
fin=fopen("c:\\a.txt","r")
fgets(s,25,fin)/*用fgets读第一行到数组s中*/
n=strlen(s)
fseek(fin,n+1,SEEK_SET)/*将文件指针移到下一行*/
fgets(s,25,fin)/*读取第二行的搜弊字符串*/
printf("%s",s)
}
这个是我写的一个世迟族,如果你想读到第n行的话,用一个for循环控制旦芦使文件指针移到第n行就行了
使用fread函数
C 标准库 - <stdio.h>
描述
C 库函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定流 洞闭stream 读取数据到 ptr 所指向的数组中。
声明
下面是 fread() 函数的声明。
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
参数
ptr -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。
size -- 这是要读取的每个元中悔素的大小,以字节为单位。
nmemb -- 这是元素的个数,每个元素的大小为 size 字节。
stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。
返回值
成功读取的元素总数会以 size_t 对象返回,size_t 对象是一个整型数据类型。如果总数与 nmemb 参数不同,则可能发生了一个纳培裂错误或者到达了文件末尾。
打开文件 fopen("需要打开的路慧前径"前笑清)
然后使用fgets函数读取行
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE 1024
int main()
{
char buf[MAX_LINE] /*缓冲区*/
FILE *fp /*文件指针*/
int len /*行字符个数*/
if((fp = fopen("test.txt","r")) == NULL)
{
perror("fail to read")
exit (1)
}
while(fgets(buf,MAX_LINE,fp) != NULL)
{
len = strlen(buf)
buf[len-1] = '升基\0' /*去掉换行符*/
printf("%s %d \n",buf,len - 1)
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)