Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.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/3/android/224.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++ 从数字中删除逗号的程序_C++ - Fatal编程技术网

C++ 从数字中删除逗号的程序

C++ 从数字中删除逗号的程序,c++,C++,我需要编写一个程序,从文件中读取数字,删除逗号,然后将数字写入新文件。 我已经设法完成了大部分工作,但我不知道如何在新文件中的数字之间添加空格。 这是我的节目 int main() { ifstream numbersDs; // input: numbers data stream ofstream nubersNoComma; projDit(); // Project details // Check if the files exi

我需要编写一个程序,从文件中读取数字,删除逗号,然后将数字写入新文件。 我已经设法完成了大部分工作,但我不知道如何在新文件中的数字之间添加空格。 这是我的节目

 int main()
{
    ifstream numbersDs;        // input: numbers data stream
    ofstream nubersNoComma;

    projDit();  // Project details 

    // Check if the files exist.
   numbersDs.open(inFile);
   nubersNoComma.open(outFile);

   char c;

   numbersDs >> c;

    while (!numbersDs.eof())
            {
            while ((c != ',') && (!numbersDs.eof())) \\ another .eof to avoid inf loop          
                {
                cout << c ;
                nubersNoComma << c;
                numbersDs >> c;
                }

            cout << c ;
            numbersDs >> c;
        }

    nubersNoComma.close();
    numbersDs.close(); 
}
这是输出:

14854053453445621002

ifstream
正在吞噬空白。添加以下内容:


numbersDs>>std::noskipws 

此代码应该帮助您,正如“Dan Hook”所提到的,在使用StrueFixFS、fShink时,您必须进一步考虑跳过空白。p>
while (!numbersDs.eof())
        {
        while ((c != ',') && (!numbersDs.eof()))
            {
            cout << c ;
            nubersNoComma << c;
             numbersDs>>std::noskipws >> c;
            }
            nubersNoComma << " ";

        cout << c ;
        numbersDs >> c;
    }
while(!numbersDs.eof())
{
而((c!=',')&&(!numbersDs.eof())
{
cout std::noskipws>>c;
}
nubersNoComma c;
}

numbersnocomma或一个简单的替换字符串操作,将
替换为“`”?问题的大部分内容都是无关的。它归结为“如何将空格写入
std::ofstream
?”,除了这样一个事实:您只需要这样做,因为您的
std::istream
首先会吃掉所有的空白。类似的问题:此代码用空格替换逗号,这不是要求的。啊,我明白了。。。我以为他想替换,但他实际上想用空格分隔每个字符?不可否认,这并不清楚,因为他没有提供所需的输出。然而,我认为可以从问题文本中很好地推断出来(还有一点常识!:D)。
while (!numbersDs.eof())
        {
        while ((c != ',') && (!numbersDs.eof()))
            {
            cout << c ;
            nubersNoComma << c;
             numbersDs>>std::noskipws >> c;
            }
            nubersNoComma << " ";

        cout << c ;
        numbersDs >> c;
    }