dzrs.net
当前位置:首页 >> C语言读取文件的某一行 >>

C语言读取文件的某一行

1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中.2、例程:#include#include void main() { char a[100],b[100],c[100]; int i=3,j=4,k=0; //第三行,第四列 FILE *fp = fopen("

#include <stdio.h> int main() { int i,n; char a[1024]; FILE *fp; gets(a); if((fp=fopen(a,"r"))==NULL) { printf("File Name Error.\n"); return 0; } scanf("%d",&n); i=0; while(!feof(fp)) { if(fgets(a,1000,fp)) { i++; if(i==n) { puts(a); fclose(fp); return 0; } }else{ break; } } printf("Line No Error.\n"); return 0; }

没有能读一行的吧,如果能用C语言实现你的要求,加分的话我给你做.先说明我不会读一行的,因为一行有大小,比如你打开一个文本,当你缩小的时候行数会增多,放大文本的时候行数就减小,这样你怎么能保证每次读出的数据都一样呢?

最简单的方法,就是一行一行的读,但只取你要的那一行数据就行了.下面是我写的一个简单的例子,抽了三次奖,没有判重复的.#include #include #include #define PEOPLE_NUM 10 //我的文件里有10个名字void get_prize(FILE* fp, char prize_name[]){ int num; int i; fseek(fp, 0, SEEK_SET); printf("start\n"); num = rand() % PEOPLE_NUM + 1; for(i = 0; i 运行截图:写这种程序你存名字的文件一定要排整齐,这样程序才好处理.祝好运.

#include <stdio.h>#include <string.h>#include <stdlib.h>int fileToFile(char *nameSrc, char *nameDes);char * getLineBuf(int line, int col, int len, char *filename);/**************************************************************说明:1.使用了内存实时分配

有很多种方式可以一次性读取多行数据,具体如何使用,取决于文件内容格式.一、以fscanf读取.fscanf读取时,默认会到空白字符截止.所以如果文件中不存在其它空白字符,那么可以以fscanf实现一次性读取多行的效果,比如文件中存储为

可以使用fgets函数来实现.1 函数名:fgets2 声明形式:char *fgets(char *buf, int bufsize, file *stream);3 头文件:stdio.h4 功能及参数说明:从stream中读取一行数据存到buf中.如果数据长度小于bufsize,那么读入整行数据,并将换行符转换为

最简单的方法,就是一行一行的读,但只取你要的那一行数据就行了.下面是我写的一个简单的例子,抽了三次奖,没有判重复的. #include <stdio.h>#include <stdlib.h>#include <time.h>#define PEOPLE_NUM 10 //我的文件里有10个名字void

用fstream(文件流),fstream file 然后 file.getline(char*,int,char a='\n')第一个是一个存储字符串的指针,第二个是要读取的最大长度,第三个是行结束符,默认是回车,函数说明就是当读入的字符超过最大长度int或者遇到行结束符('\n')时就停止,而且这个很好用的(对于读入和写入),你看看文档就会了,哈哈,给分啊.!!~~

所谓的某行你没有给出确切的定义,通常读文件采用的方法是将文件内容的全部,或者部分保存在缓存中,如果你是想读取第几行,那么就可以使用字符指针,寻找缓存中的'\n',并进行计数,找到想要的行.如果想读取的是某个关键字所在的行,同样是可以使用字符指针,使用strncmp方法寻找关键字所在的位置,或者直接使用strstr方法查找.需求不明确的时候不容易确定最佳的查找方式.

网站首页 | 网站地图
All rights reserved Powered by www.dzrs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com