怎么用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;

}

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

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

只需要在每次读取的时候判断是否为最后一个字符即可,和一般的读取文件方式并没有什么不同。
相比之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();
}

http://blog.csdn.net/nuaazdh/article/details/7028675