使用fread函数
C 标准库 - <stdioh>
描述
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 -- 这是指向带有最小尺寸 sizenmemb 字节的内存块的指针。
size -- 这是要读取的每个元素的大小,以字节为单位。
nmemb -- 这是元素的个数,每个元素的大小为 size 字节。
stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。
返回值
成功读取的元素总数会以 size_t 对象返回,size_t 对象是一个整型数据类型。如果总数与 nmemb 参数不同,则可能发生了一个错误或者到达了文件末尾。
public static void tongji(String file)throws IOException{
Map< Character, Integer> map=new HashMap<Character, Integer>();
InputStreamReader in=new InputStreamReader(new FileInputStream(file));
int b;
int all=0;
while((b=inread())!=-1){
char ch=(char)b;
if(b=='\n'||b=='\r'||b==','||b=='。'||b==' '){
continue;
}
Integer n=mapget(ch);
mapput(ch,n==null1:n+1);
all++;
}
ArrayList<Entry<Character,Integer>> list=new ArrayList<MapEntry<Character,Integer>>(mapentrySet());
Collectionssort(list,new Comparator<Entry<Character,Integer>>() {
@Override
public int compare(Entry<Character, Integer> o1,
Entry<Character, Integer> o2) {
return o2getValue()-o1getValue();
}
});
Systemoutprintln("总字数"+all);
Systemoutprintln("出现的字符数:"+listsize());
for(Entry entry:list){
char ch=(Character) entrygetKey();
int c=(Integer) entrygetValue();
Systemoutprintln(ch+"="+c);
}
}
以上就是关于C语言在TXT文件中如何读取任意行/个数据全部的内容,包括:C语言在TXT文件中如何读取任意行/个数据、java 文件读写中哪个方法能够统计读取的文件中的字符个数、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)