c++将读取的文件内容一次性输出于屏幕

问题描述

c++将读取的文件内容一次性输出于屏幕
是这样的 我用c++实现将很多字符构成的txt文件依次输出 ,从而形成动画的效果
但是在每读取一个txt文件的时候读取的很慢 在控制台输出的时候文件的字符从上往下刷下来,让后清屏 再读第二个文件 这样太慢了 能不能让一个文件的字符一次性显示屏幕上啊?
我的代码:

#include
#include
#include
#include
using namespace std;
void hoop(string x)
{
const char *txtname=x.c_str();
ifstream infile(txtnameios::in);
if(!infile)
{
cerr<<""open1error!""<<endl;
exit(1);
}
char ch;
while(infile.get(ch))
cout.put(ch);
cout<<endl;
infile.close();
}
int main()
{
string c=""F:/字符画/"";
string d="".txt"";
int ss;
char temp[64];
string str;
for(int i=1;i<3456;i++)
{
ss = i;
sprintf(temp%d"" ss);
string s(temp);
string a=c+s.c_str()+d;

hoop(a);
system(""cls"");

}
return 0;
}

解决方案

我给你的代码只是映射简单例子:
而注释给啦一些我的思路。
其实对于你想要的这种效果,你还应该理解i/o编程
可以参考:blog.csdn.net/querdaizhi/article/details/7436722
若是你觉得还有问题我们继续交流!

#include <stdlib.h>#include <stdio.h>#include <unistd.h>#include <sys/mman.h>#include <sys/stat.h>#include <fcntl.h>//#include ""tlpi_hdr.h""#define errExit(msg) (perror(msg)(exit(1)))int main(int argcchar * argv[]){    char * addr;    int fd;    struct stat sb;    if(argc !=2 ||strcmp(argv[1]--help"")==0)        //usageErr(""%s filen""argv[0]);        errExit(""usage.."");    fd=open(argv[1]O_RDONLY);//Looks here your should change as     /*     *while file[i].txt no finish     *  fd=open(file[i].txt)     *  mmap(......)     *  done...     */    if(fd==-1)        errExit(""open"");    /*Obtain the size of the file and use it to specify the size of      the mapping and the size of the buffer to be written */     if(fstat(fd&sb)==-1)         errExit(""fstat"");     addr=mmap(NULLsb.st_sizePROT_READMAP_PRIVATEfd0);     if(addr==MAP_FAILED)         errExit(""mmap"");     if(write(STDOUT_FILENOaddrsb.st_size)!=sb.st_size)         errExit(""partial/failed write"");    exit(EXIT_SUCCESS);}

解决方案二:
在linux下,要是标准输出没有遇到换行的化,是不会立即输出的。因为是代换冲的。一般可以fflush(stream).而对于你想要的效果,我觉得可以考虑
用内存映射,避免read/write读写过慢的缺点。

解决方案三:
简单来看可以在你的hoop中定义一个string,用来缓存一个文件中的全部内容。hoop不要一次输出一行,每次读取之后放到string中:

 while(infile.get(ch))    cout.put(ch);

改成:

    std::string temp;     while(infile.get(ch))            temp+=ch;    cout.put(temp);

这样就行喽:D

解决方案四:
问题的关键是
while(infile.get(ch))
cout.put(ch);
cout<<endl;
你是读取一行字符输出一行的。

你需要用一个变量保存完整的一个文件的内容,再整体输出才行。

时间: 2024-10-06 18:56:43

c++将读取的文件内容一次性输出于屏幕的相关文章

PHP读取文件内容并输出显示

例子  代码如下 复制代码 <? $file_name="1.txt"; echo $file_name." "; $fp=fopen($file_name,'r'); //$buffer=fgets($fp); while(!feof($fp)){ $buffer=fgets($fp); echo $buffer; } fclose($fp); ?> 除了使用fopen函数之外还可以使用像file_get_contents函数    代码如下 复制代码

一个读取xml文件内容的类

xml 一个读取xml文件内容的类 package project.util.xml; import java.io.*;import java.util.*;import javax.servlet.http.*;import org.apache.log4j.*;import org.jdom.*;import org.jdom.input.*; /*** <p>Title: <font color="steelblue" size="10"&

java遍历读取xml文件内容_java

本文实例讲解了java遍历读取xml文件内容的详细代码,分享给大家供大家参考,具体内容如下 package test; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Iterator; imp

JS通过ajax动态读取xml文件内容的方法

 这篇文章主要介绍了JS通过ajax动态读取xml文件内容的方法,实例分析了Ajax操作XML文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS通过ajax动态读取xml文件内容的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码读取note.xml文件,并填充显示相关字段 HTML文件代码如下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3

jQuery读取XML文件内容的方法

 这篇文章主要介绍了jQuery读取XML文件内容的方法,实例分析了jQuery操作XML文件的技巧,需要的朋友可以参考下     本文实例讲述了jQuery读取XML文件内容的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.

io流-MFC读取txt文件内容的问题

问题描述 MFC读取txt文件内容的问题 我把读取文件的代码写在Dlg的OnInitDialog()函数里 当那个data文件只有一行的时候读取文件是可以正常运行的,只在后面有问题. 但data文件有两行的话就会停在getdata函数这里 CStringData* GetData() const throw() { return( reinterpret_cast< CStringData* >( m_pszData )-1 ); } 读文件代码如下: CStdioFile myFile; C

sql-asp.net读取txt文件内容,并把内容全部导入到数据库表里

问题描述 asp.net读取txt文件内容,并把内容全部导入到数据库表里 string textName = TextBox1.Text; string name = TextBox2.Text; DateTime time = DateTime.Now; if (FileUpload1.PostedFile.InputStream.Length < 1) { Label1.Text = "请选择文件"; return; } string FileName = FileUploa

JS通过ajax动态读取xml文件内容的方法_javascript技巧

本文实例讲述了JS通过ajax动态读取xml文件内容的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码读取note.xml文件,并填充显示相关字段 HTML文件代码如下 <!DOCTYPE html> <html> <head> <script> function loadXMLDoc(url) { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome,

android studio读取gpx文件内容

问题描述 android studio读取gpx文件内容 各位大神,我的老师要求我写一个安卓项目,要读取gpx文件里的内容,我用了各种方法,总是读不出来gpx文件内容,请大神指点一下我需要用哪些方法吗? ps:我尝试了DOM和SAX,但是网上找到的实例都运行不了,在国外网站上找到了一个实例,觉得非常符合我的要求也挺正确的,可就是读不出来数据,求大神指点迷津 解决方案 Android读取excel文件内容 解决方案二: 这个估计百度 也不行