c++ io流的read函数实际读取的字节数

用c++io类,ifstream,读取二进制文件,用read函数时,怎么得到实际读取的字节数?
比如ifstream in("a.jpg",ios::in|ios::binary);in.read(buf,1024);

我如何得到实际读取的字节数?

1个回答

http://blog.chinaunix.net/uid-21375345-id-3049692.html
read()从文件中读取 num 个字符到 buf 指向的缓存中,如果在还未读入 num 个字符时就到了文件尾,可以用成员函数 int gcount();来取得实际读取的字符数

l108103t
Cirfe 问题解决,谢谢!
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c++ io流的read函数实际读取的字节数
用c++io类,ifstream,读取二进制文件,用read函数时,怎么得到实际读取的字节数?n比如ifstream in("a.jpg",ios::in|ios::binary);in.read(buf,1024);nn我如何得到实际读取的字节数?
IO流read方法~~~
[img=https://img-bbs.csdn.net/upload/201605/19/1463656212_96417.png][/img]rnrnrnrn myReadLine方法已经return了 当再次调用这个myReadLine方法时 为什么这个fileReader.read()方法还能记录着上次在文件中读取到的数据 也就是我已经获取到了第一行 为什么再调用fileReader.read()方法就会获取到第二行 而不是第一行rnrnrn
java io流 Read疑惑
[code=Java]public class TestReader rnrn static File file = new File(fileName);//一个普通的.txt文本文件,里面有英文有中文。rn static Reader reader = null;rnrn public static void readFileByChars(String fileName) rn try rn reader = new FileReader(file);rn char tempchars[] = new char[30];//1--这个地方有点不太明白,这个char数组的长度“30”是老师写的,为啥腻?难道是随便设定一个>0长度?rn int charread = 0; rn while ((charread = reader.read(tempchars)) != -1) 2--这个地方也不明白,调用了read方法,是把读到的一个字符放到tempchars数组里吗?然后再接着读第二个?还是别的解释一下?rn System.out.print(tempchars);rn rn rn reader.close();rn rn catch (Exception e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn rn public static void main(String[] args) rnrn TestReader.readFileByChars(fileName);rn rn rn[/code]
实际字节数
32位计算机,一个int占四位对吧!rn那么int a=8;rn这个在内存中实际占了,多少个字节?
io流写入和读取
有需要的可以看看,io流的写入读取然后添加到数据库再就是删除!
IO流读取键盘录入
/*IO流读取键盘录入 字符流://用于文本 FileReader FileWriterBufferedReader BufferedWriter字节流://用于其他,如图片,音乐等 FileInputStream FileOutputStreamBufferedInputStream BufferedOutputStream读取键盘录入 System.out:对应的标准输出设备 控制台 Syste
IO流读取本地文件
package com.jianqiao.member.util; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class HttpUtil { public stati...
IO流的读取
[code="java"] int java.io.InputStream.read(byte[] b, int off, int len) throws IOException [/code] [i][b]API说明:[/b][/i] 将输入流中最多 len 个数据字节读入字节数组。尝试读取多达 len 字节,但可能读取较少数量。以整数形式返回实际读取的字节数。 在输入数据可用、检...
IO流读取和创建文件
IO流读取和创建文件IO流读取和创建文件IO流读取和创建文件IO流读取和创建文件IO流读取和创建文件
io 流的读取
最近有用带io流读取图片! 不过好久没用了居然发现不会写。 最后费了很大了功夫才弄好! 才发现居然很简单! 所以我还是记一下!并且分享给大家一起学习一起进步 io流分为两大类,字节流和字符流。字节流:OutputStream、InputStream字符流:Writer、Reader所有的文件在硬盘或在传输时都是以字节的方式进行的,包括图片等都是按字节的方式存储的,而字符是只有在内存
io流的高效 读取
package com.tz.reader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWrite
看io流 用inputStream读取文件字节数
为什么设置new byte[16]时 输出字节数为40n设置new byte[2]时,输出字节数为314呢?n![图片说明](https://img-ask.csdn.net/upload/201703/15/1489547576_896016.png)nn![图片说明](https://img-ask.csdn.net/upload/201703/15/1489547594_36446.png)nn![图片说明](https://img-ask.csdn.net/upload/201703/15/1489547617_267454.png)nn![图片说明](https://img-ask.csdn.net/upload/201703/15/1489547629_926020.png)
JAVA中 IO流文本文件的读取方式(一)(read 的用法)
JAVA中 IO流文本文件的读取方式(read 用法) 首先,我们先用通常的read方法去读 代码 import java.io.FileReader; import java.io.IOException; public class FileReaderdemo2{ public static void main(String args[])throws IOException{ //创...
IO流 关于字节流read()方法读取的问题
private static void fun2()rn InputStream in=null;rn try rn in=new FileInputStream("d:/干掉舒陪1.txt");rn byte [] b=new byte[2];rn int count=in.read(b);rn while(count!=-1)rn String s=new String(b,0,count);rn System.out.print(s);rn count=in.read(b);rn rn rn catch (FileNotFoundException e) rn e.printStackTrace();rn catch (IOException e) rn e.printStackTrace();rn finallyrn try rn in.close();rn catch (IOException e) rn e.printStackTrace();rn rn in=null;rn rn rnrnrn如上代码,我想要读取上述干掉舒培的txt文件。直接运行读取内容成功。rn然后我debug调试的时候出现了问题,在我走到创建数组b的时候,数组内容为0,这个时候是正常的。rn但是当我走到下一步in=new FileInputStream("d:/干掉舒陪1.txt"); 的时候,走完了立马就出现了问题。rn刚刚内容了0的数组b中出现了内容。 不是应该在我read读取的时候才出现吗?rn因为这个问题,在debug调试完以后,我读取出来的内容是有丢失的。rn然而实际直接运行的时候,程序并没有出现任何丢失和异常。 非常疑惑。求解??rn下面是运行时的图:[img=https://img-bbs.csdn.net/upload/201609/12/1473672467_414729.jpg][/img]rnrn[img=https://img-bbs.csdn.net/upload/201609/12/1473672607_470320.jpg][/img]rn
c 中的IO流
我想用做个一个文件传输的程序,用tcp协议,当读取的时候,我放入一个缓存字符数组中rn我的问题是,传输过程中,文件是以什么形式的流发送的,字符流吗?rn哪位高人给详细解释下,谢谢了
C 语言的io流
写入:     CString strCMD = L“E:\CompressionRar\CompressionRar\Bin\Release\abc.txt”;     USES_CONVERSION;     std::string strFptxt(W2A(strCMD));     FILE *fp=fopen(strTextPath.c_str(), "at");     fprin...
java IO 流read方法的疑问?
public int read(byte[] b, int off, int len)nnnread中off参数 在API中是这么解释的,目标数组 b 中的起始偏移量。n这个是啥意思啊
标准IO流与系统调用write read区别
标准I/O库,他们的操作是围绕流的。当一个标准I/O库打开或是创建一个文件时,我们已使一个流与一个文件相关联,但是这个流是什么?流的实质就是内存中的一个缓冲区,使用标准I/O库打开或是创建一个文件时,就是将文件缓冲的缓冲区中。这时实质上标准I/O库是对缓冲区进行I/O操作。而不是对底层文件执行实际I/O操作(真实的写到文件中)。#include<stdio.h>#include<fcntl.h>#i
IO流读取文章的问题
我在struts2的一个项目中,需要读取一篇文章,我数据库里面存放的是文章的路径,有以下代码,在j2se里能正确读取出文章,但是放在struts中就不能读取了。而且封装的方法根本就不执行。请问各位大牛这是怎么回事儿rn代码:[code=java]public String getArticleContent(String path)rn rn File file = new File(path);rn String read = "";rn StringBuilder sb = new StringBuilder();rn InputStreamReader isr = null;rn BufferedReader br = null;rn tryrn rn isr = new InputStreamReader(new FileInputStream(file));rn br = new BufferedReader(isr);rn while ((read = br.readLine()) != null)rn rn sb.append(read + "\n");rn rn catch (Exception e)rn rn finallyrn rn if (br != null)rn rn tryrn rn br.close();rn catch (IOException e)rn rn e.printStackTrace();rn rn rn if (isr != null)rn rn tryrn rn isr.close();rn catch (IOException e)rn rn e.printStackTrace();rn rn rn rn return sb.toString();rn [/code]rnrn调用该方法的地方,以及前后代码:rn[code=java]if (res != null)rn rn if (res.next())rn rn title = res.getString("title");rn content = getArticleContent(resrn .getString("article_content"));rn list.add(new ArticleBean(title, content));rn System.out.println("文章路径----->>>"rn + res.getString("article_content"));rn System.out.println(content);rn elsern rn list.add(new ArticleBean("没有文章", null));rn rn [/code]
IO流 文件得读取与写入
IO输入输出流 字节: (输入)inputsterm (输出)outputstream 字符: reader writer In:把文件读入进来 Out:把自己的东西写入文件里边去。 Reader:把东西读出来; Witer:把东西写进去。 字节流 (FileInputStream) 字节输入流:读入文件到内存中进行使用,是先到磁盘里去把文件读入到内存中...
java io流,读取文件内容
//读取文本,要考虑字符输入流 XXXXReader //FileReader可以直接封装File //导包       也可以直接导import java.io.*; import java.io.File; import java.io.IOException; import java.io.FileReader; class haha{ public static vo
IO流文件的读取与写入
 【IO流】:Input Output           连接文件和应用程序的管道 【按照流向来说:参照物是应用程序:】    1. 输入流: input 从硬盘(存储设备)到内存    2. 输出流: output 从内存到硬盘(存储设备) 【 按照处理的单位:】     字节流:      就是按照文件的二进制编码,一个字节为一个操作单位来进行读写操作     字符流:
IO流,读取本地txt文件
package com.zk.test; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class 读取文件 { public static void main(String[] args) { try { File
io流文本文档的快速读取
package com.ute.action; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; /**  *   * @author Administrator  * 文本文档的快速读取
JAVA的io流的写入和读取
首先我们在d盘建一个1.txt 1.写入 import java.io.FileWriter; import java.io.IOException; public class FireWriterDemo {     public static void main(String[] args) throws IOException {         FileWriter fw=new ...
IO流读取文件夹注意事项:
今天在这个IO流读取多级文件夹中卡了很久,一直找不到错误。 最初是找到文件夹但拒绝访问 原代码如下 /* * 复制多级文件夹 * * 数据源:F:\\1-Java * 目的地:F:\\copy */ public class CopyFolderDemo3 { public static void main(String[] args) throws IOException {...
Java IO流读取文本内容
Java IO流读取文件制定内容 1.使用FileReader,BufferedReader 文本内容 代码 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public class Test { public static void main(String[] args) { ...
java中IO流之读取
读取文件需要完成以下几个步骤: 1.建立File对象 (建立一个File对象来代表你要读取的文件并在生成实例的初始化时将要读取文件的路径传给对象) File src = new File(“文件路径”); 2.选择输出流 (文件不能直接读取,必须先转换为输入流文件再用输入流中的read 和 close等方法对目标文件进行操作) InputStream is =null (为了便于操作先实例化...
IO流之字节流的读取操作
/** * 字节流读取文件 */ private void readByteStream() throws IOException { // 字节输入流 FileInputStream fileInputStream = new FileInputStream(new File(&amp;amp;quot;D:\\aa.txt&amp;amp;quot;)); // 字节数组 ...
io流的字节的读取和写入
写一个简单的写入和读取 读取 package contorller; import java.io.FileOutputStream; import java.io.IOException; public class ZIj { public static void main(String []args) throws IOException { FileOutp...
Properties和IO流的读取路径
我在SRC下建立了一个文件,用IO流读取的话路径是"src/xxxx.xx",用Properties只要"xxxx.xx"就能读取,为什么呢
IO流呀IO流
文件或目录创建 package IOTEST;import java.io.File;/** * Java程序可访问的最主要的外部资源之一就是文件。 *在Java中用File类来进行文件及目录的操作,常见操作: *查询文件信息 *创建文件 *文件内容读取 *读写文件 */ public class FileOperation { //目录or文件是否存在 public static
实际读到的字节数
unsigned int bytesRead=fread(pSaveH,sizeof(char),fileLen,fp);rn文本大小78202 实读77362 差了800多,这个差值表示的是有800多个'\n'对吗?
读取IO信号函数
函数名 Int ReadIo(void);rn参数 无rn返回值 0:未读到IO信号rn 1:读到IO信号rn功能说明 读取IO信号,当连续20次读到有效信号时,才认为信号有效。rn全局变量 IOTimes:计数器rn开始rn 读取io信号是否成功:1.不成功返回0;rnrn 2.成功:io是否等于1:1.不等于1:IOTimes=0,返回0;rn 2.等于1:IOTimes++,IOTimes是否大于20:1.不大于20返回0;rn 2.大于20:返回1,IOTimes=0rn结束
IO流(内存操作流)IO流(打印流)
IO流(内存操作流)用来存储内存中的临时信息,程序结束的时候,内存流就消失了!字节数组操作内存流: ByteArrayInputStream ByteArrayOutputStream 字符数组操作的内存流 CharArrayReader CharArrayWriter字符串 StringReader S
读取NTFS流函数
各位大虾:rn 请问下.NET中,有没有能读取NTFS文件中流的接口函数啊?rn 因为NTFS文件中可能有多种流,我现在想读出该文件的每种流的数据,请问应该怎么做呢?谢谢大家
CFile类read函数每次按指定的字节数读取,能否read一行?
不管一行是多少字节。
IO流--读取键盘录入(流转换和流的操作规律)
/* 字符流: FileReader extends InputStreamReader FileWriter extends OutputStreamWriter BufferedReader BufferedWriter 字节流: FileInputStream FileOutputStream BufferedInputStream BufferedOutputStream --
IO流_字符流、IO流小结、IO流案例总结
1:字符流(掌握) (1)字节流操作中文数据不是特别的方便,所以就出现了转换流。 转换流的作用就是把字节流转换字符流来使用。 (2)转换流其实是一个字符流 字符流 = 字节流 + 编码表 (3)编码表 A:就是由字符和对应的数值组成的一张表 B:常见的编码表 ASCII ISO-8859-1 GB2312 GBK GB18030 UTF
急急!fstream.read(..)函数不返回实际读到的字节数,我怎样才能得到实际读到的字节数呢?
各位大虾,我用fstream对象去读一个文件.rnfstream SODFile;rnint realnum=SODFile.read(buffer,100);rn但是呢,fstream的read函数的返回值不是int,不是实际读到的字节数!!!而是basic_istremm& read(E *s, streamsize n);返回了一个流对象给我.rnrn我应该怎样才能得到这一次读的实际字节数呢?rn急急急急急啊!!!!!rnrn
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数