2 lyn38099 lyn38099 于 2016.05.08 23:40 提问

怎么用C++读取文件中的所有字符?

int main()
{
p=0;
row=1;
ifstream in;
in.open("test.txt");
//while(ch!='#');
p=0;
while(!in.eof())
{
if(in.is_open() )
{
scaner(in);
}
switch(syn)
{
case 11: cout<<"("<<sum<<","<<syn<<")"<<endl; break;

case -1: cout<<"Error in row "<<row<<"!"<<endl; break;
case -2: row=row++;break;
default: cout<<"("<<token<<","<<syn<<")"<<endl;break;
}
}

return 0;

}

5个回答

devmiao
devmiao   Ds   Rxr 2016.05.08 23:48

循环遍历读取就可以了。根据你的需要。

CSDNXIAOD
CSDNXIAOD   2016.05.08 23:52

C++ 读取文件字符,统计字符频率
C++文件顺序读取,最后一个字符被读取两遍的原因
C语言读取输入的字符并写入到文件中
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

achenkui
achenkui   2016.05.09 00:54

#include
#include
#define MAXN 10000
using namespace std;
string data//;
int main()
{
ifstream fin("text.txt"); //char/int/doule.......
while(fin >> data)
{
........... 根据需要
}
return 0;
}

havedream_one
havedream_one   2016.05.09 08:04

只需要在每次读取的时候判断是否为最后一个字符即可,和一般的读取文件方式并没有什么不同。
相比之C和其他几种主流编程语言,c++对于文件的读取操作是十分方便简单的。
在过程中有几个问题需要注意:
检查是否打开文件并且可以进行读取操作。
存放读取结果的变量是否足够大。
读取工作完成后需要关闭文件指针。
如下是针对要求编写的代码:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

const string GetFileName(void);
void ReadFile(const string strFileName);

int main(void)
{
    ReadFile(GetFileName());
    cout << endl;

    return 0;
}

const string GetFileName(void)
{
    string strFileName;
    cout.setf(ios::right);
    cout.width(30);
    cout << "输入文件的路径:";
    cin >> strFileName;

    return strFileName;
}

void ReadFile(const string strFileName)
{
    string text;

    ifstream in(strFileName.c_str());

    if (!in)
    {
        cout.width(15);
        cout << "文件打开失败" << endl;
    }

    while (in >> text)
    {
        cout << text;
    }

    in.close();
    in.clear();
}
ZGZ1002
ZGZ1002   2016.05.09 21:26
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c语言,把文件的所有内容读入到字符串中
c语言,把文件的所有内容读入到字符串中
C中文件基本读写操作(单字符,多字符)
#include using namespace std; void main(int argc,char *argv[]){  //文件的写操作  FILE* file = fopen("C:\\Users\\Administrator\\Desktop\\a.txt", "r");  FILE* file2 = fopen("C:\\Users\\Administrator\\De
C语言fgetc()函数:读文件函数(由文件中读取一个字符)
相关函数:open, fread, fscanf, getc 头文件:include 定义函数:int fgetc(FILE * stream); 函数说明:fgetc()从参数stream 所指的文件中读取一个字符. 若读到文件尾而无数据时便返回EOF. 返回值:getc()会返回读取到的字符, 若返回EOF 则表示到了文件尾. 范例 #include mai
C语言中用fscanf函数读取文本文件所有内容
从一个文本文件中读取所有内容的方法有:1.使用函数fgetc或getc,再结合while循环与文件结尾标记EOF; 2.使用fscanf函数,此函数与scanf用法类似,但是只能读取到遇到的第一个空白字符之前的所有;但是使用fscanf格式符类型[^],则完全可以实现方法1中的功能。 代码如下:第1种方法: FILE*p;//假设已经初始化  char a[100],*pr=a; int
C语言读取文件,包含字符数字,按字符求数字平均数
C语言读取文件,包含字符数字,按字符求数字平均数。C语言基础程序备忘记录。
C语言fgets读取整个文本文件的内容
C语言fgets环读取整个文本文件的内容 #include #include #include #include //函数返回fname指定文件的全部内容,如果打不开文件,则返回NULL,并显示打开文件错误 char *getfileall(char *fname) { FILE *fp; char *str; char txt[1000]; int filesize; if
C语言以字符串的形式读写文件
fgetc() 和 fputc() 函数每次只能读写一个字符,速度较慢;实际开发中往往是每次读写一个字符串或者一个数据块,这样能明显提高效率。 读字符串函数fgets fgets() 函数用来从指定的文件中读取一个字符串,并保存到字符数组中,它的原型为: char *fgets ( char *str, int n, FILE *fp ); str 为字符数组,n 为要读取的字符数
基于C/C++的读取文件夹下所有文件(图片、文档等)的代码
void getFiles(string foler, vector& files); int main() { string folder = "E:/MATLAB/LBP/scene_categories/MITcoast"; //此处用的是斜
C语言从文本文件中用字符串读取一行数据,然后再依次遍历字符串将字符串中数据分配。
#include "stdafx.h" #include #include FILE *rfile=fopen("D:\\风中追风\\工作量表计算.csv","r");// 定义文件指针; int _tmain(int argc, _TCHAR* argv[]) {      int i=0,number;     double num;      char p[5000],nam
C语言读取文本文件字符串内容不对,可能是文本编码问题
最近用fgets函数读取文本文件时,出现一个奇怪的现象;当我读取文本第一行的内容,用字符串格式打印出来正确,单个字符打印却没有达到自己想要看到的结果;但是读取第二行文本内容却又正常,刚开始以为是文件指针的问题,后面发现不是。 最后猜测可能是编码问题,把文本编码格式换了一下,马上就好了。 在notepad++编辑测试,发现把文本文件转换成“ANSI编码格式”或者“UTF-8无BOM格式编码”,读