2 u012799296 u012799296 于 2014.03.17 12:34 提问

c++中关于文件读取的问题

我想从文件中读取元素,元素中既有int型又有char型,然后再将这段元素输出
比如文件中的元素是2 3 5 * + 10 2 / -
我想将文件中的元素读取后再输出它们,但我不知道这段代码错在哪里
ifstream in;
in.open("E:/c.txt");
int a;
char b;
while(!in.eof())
{while(in>>a)
cout< in.clear();
in>>b;
cout<<b<<" ";
}
恳请各位大神指点,最好能指出错误,并将正确的代码写一下,十分感激!

1个回答

vipda
vipda   2014.03.17 13:32
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;

int main()
{
    FILE *fp;
    if(fp=fopen("E:/c.txt","r"));
    char ch = fgetc(fp);
    while(ch != EOF)
    {
        if(ch >= 48 && ch <= 57)
        {
            int b = ch - 48; // 数字
            cout << b;
        }
        else
        {
            cout << ch; // 非数字
        }
        ch = fgetc(fp);
    }
    fclose(fp);
    return 0;
}

试试这个,上次那个是有点问题

u012799296
u012799296 我想int型的数仍然按int型输出,比如10,这个代码貌似10是按照两个字符‘1’和‘0’输出的,输出后的int型数据我还有其他的用途,多谢了
接近 4 年之前 回复
u012799296
u012799296 请问结尾为何输出了两个‘-’呢
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!