C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 输入迭代器跳过空格,以任何方式防止这种跳过大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在从一个文件读取一个字符串,直到我达到一个分隔字符,美元符号.但输入迭代器正在跳过空格,因此创建的字符串没有空格.在这种情况下不是我想要的.有没有办法阻止跳绳行为?如果是这样怎么样?

这是我的测试代码.

#include <iostream>
#include <fstream>
#include <iterator>
#include <String>

// istream iterator is skipping whitespace.  How do I get all chars?
void readTo(std::istream_iterator<char> iit,std::string& replaced)
{
   while(iit != std::istream_iterator<char>()) {
     char ch = *iit++;
     if(ch != '$')
      replaced.push_BACk(ch);
     else
        break;
   }
}

int main() {
   std::ifstream strm("test.txt");
   std::string s;
   if(strm.good()) {
       readTo(strm,s);
       std::cout << s << std::endl;
   }

    return 0;
}

解决方法

因为认情况下将流配置为跳过空格,所以请使用
noskipws(strm);

标准:

大佬总结

以上是大佬教程为你收集整理的c – 输入迭代器跳过空格,以任何方式防止这种跳过全部内容,希望文章能够帮你解决c – 输入迭代器跳过空格,以任何方式防止这种跳过所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。