Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用fstream逐个字符读取,并将fstream传递给函数进行进一步读取?_C++ - Fatal编程技术网

C++ 使用fstream逐个字符读取,并将fstream传递给函数进行进一步读取?

C++ 使用fstream逐个字符读取,并将fstream传递给函数进行进一步读取?,c++,C++,好的,我正试图打开一个文件进行读取,我只想读取第一个字符,然后根据该字符是什么,我将它发送给给定的函数。例如,如果它是一个数字,我将它发送给一个函数,该函数将继续读取,以查看它是一个int还是一个float。 我似乎不知道该怎么做 void dummy(char dum, std::ifstream& fin){ char test = dum; fin>>test; string simple = simple + test; simple

好的,我正试图打开一个文件进行读取,我只想读取第一个字符,然后根据该字符是什么,我将它发送给给定的函数。例如,如果它是一个数字,我将它发送给一个函数,该函数将继续读取,以查看它是一个int还是一个float。 我似乎不知道该怎么做

void dummy(char dum, std::ifstream& fin){
    char test = dum;
    fin>>test;
    string simple = simple + test;
    simple = simple + test;
    ofstream outFile;
    outFile.open("output.txt");
    outFile<<simple<<"\n";
    return;
}


int main(int argc, char *argv[]){
    char c;
    //ifstream readFile;
    /*if(argc >= 1){
    readFile.open(argv[1]);
    }*/
    ifstream readFile;
    readFile.open("input.txt");
    readFile.unsetf(ios_base::skipws);
    readFile>>c;
    while(!readFile.eof())
    {   
        switch(c){
        case 'a':
            dummy(a,readFile);
        }
    }
}
void dum(字符dum,std::ifstream&fin){
炭试验=杜姆;
fin>>测试;
字符串简单=简单+测试;
简单=简单+测试;
出流孔的直径;
outFile.open(“output.txt”);

outFile错误是由以下行引起的:

string simple = simple + test;
以前从未见过这种情况,但我猜您正在连接一个尚未初始化的字符串。请改用这种方式:

void dummy(char dum, std::ifstream& fin)
{
    char test = dum;
    fin>>test;
    string simple;
    simple = simple + test;
    ofstream outFile;
    outFile.open("output.txt");
    outFile<<simple<<"\n";
    return;
}

您可以打开您的txt文件,并根据下面的代码给出第一个字符! 第一个字符在变量s中

#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;

void main (void)
{
char *s=NULL;
char str1;
ifstream file_txt("file_name.txt");
if (!file_txt)
{
cout << "sorry I cannot find txt file! ";
getch();
exit(0);
 }
file_txt >> str1;
s= &str1;
file_txt.close();
}
#包括
#包括
#包括
使用名称空间std;
真空总管(真空)
{
char*s=NULL;
char-str1;
ifstream文件_txt(“file_name.txt”);
如果(!file_txt)
{
cout>str1;
s=&str1;
文件_txt.close();
}

string simple=simple+test;
毫无意义。我想把
std::ifstream::eof()
扔进一个寒冷、黑暗的峡谷,没有十几年行业经验的人都找不到它----------------------不逐字读。你知道如何让它只读一个字符吗
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;

void main (void)
{
char *s=NULL;
char str1;
ifstream file_txt("file_name.txt");
if (!file_txt)
{
cout << "sorry I cannot find txt file! ";
getch();
exit(0);
 }
file_txt >> str1;
s= &str1;
file_txt.close();
}