`
7090
  • 浏览: 279608 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

对于c++ getline方法跨平台的问题

 
阅读更多
对于windows平台,换行是\r\n,而unix平台是\r,因为把windows平台下的文件,放到unix下来解析就会有问题,一种很逊的解决方法


bool getline(std::ifstream &is,std::string &str){
bool b = std::getline(is,str);
std::string::size_type p = str.find_last_of('\r');
if(p != std::string::npos) str.erase(p);
return b;
}


参考:http://www.cnblogs.com/linbc/archive/2010/02/10/1667224.html


分享到:
评论

相关推荐

    获取cpu的信息的C++源码

    在Windows环境下,你可能需要使用如`Boost`库或者`Poco`库来简化跨平台的注册表和WMI操作。 在压缩包的文件列表中,`下载说明.txt`和`系统说明.txt`可能是提供获取CPU信息的步骤或注意事项,而`中华源码库下载站....

    c++获取OpengL版本号的两种方法

    GLFW是一个跨平台的库,用于创建和管理OpenGL上下文。它提供了方便的方法来获取OpenGL信息。如果你的项目已经使用了GLFW,这是获取版本信息的首选方法。 1. 首先,确保已经正确安装并链接了GLFW库。 2. 创建一个...

    c++常用函数整理

    5. **Boost库**:Boost是一个流行的C++库集合,提供了大量高质量、跨平台的库,如`boost::shared_ptr`(智能指针)、`boost::bind`(函数绑定)、`boost::asio`(异步I/O)等。这些库极大地扩展了C++的功能,提升了...

    ini配置读写C++源码

    "ini配置读写C++源码"强调了跨平台性,这意味着代码应该能够在不同的操作系统(如Windows、Linux、macOS)上正常工作。跨平台的关键在于文件I/O函数的选择和路径处理。例如,使用`<fstream>`进行文件操作,而不是...

    c++ 读取txt文件流 绘制曲线

    另外,`Qt`是一个跨平台的应用程序开发框架,它提供了丰富的GUI组件和绘图功能。 如果使用`OpenGL`,你需要创建一个窗口,设置顶点数组,然后使用`glDrawArrays`或`glDrawElements`进行绘制。对于曲线,可能需要...

    c++csv文件解析

    CSV文件以其简单、易于处理和跨平台的特性而受到广泛使用。本篇文章将深入探讨如何在C++中解析CSV文件,以及涉及到的相关知识点。 首先,我们要了解CSV文件的基本结构。CSV文件由行组成,每一行包含一个或多个字段...

    C++文件读写操作C++文件读写操作

    - `C++获取计算机名.txt`可能包含如何使用C++获取计算机名的代码,通常涉及Windows API或跨平台库。 - `查找字符串.txt`可能展示如何在读取文件内容时搜索特定字符串,这可能涉及到`std::string::find()`或其他...

    获取内存使用率代码C++

    在实际开发中,为了跨平台兼容,可以考虑使用如Boost库或者第三方库如libproc(仅限于Unix-like系统)来获取内存信息。同时,需要注意的是,获取到的内存使用率可能不完全准确,因为操作系统内部可能存在缓存和其他...

    C++,get cpu

    总的来说,C++中获取CPU信息的过程需要结合操作系统提供的接口,理解其工作原理,并且在编写代码时注意跨平台兼容性。通过学习和实践,我们可以更好地理解和利用系统资源,提升程序的性能和效率。

    c/c++头文件和文件指针

    为了解决跨平台的换行问题,我们需要适当地处理这些不同格式的换行符。例如,当从一个系统读取文件并在另一个系统上写入时,我们需要转换换行符以保持一致性。可以使用以下函数进行转换: ```c++ void ...

    掌握C++标准类强力推荐

    这些标准类使得开发者能够快速构建复杂的应用程序,同时保证了跨平台的兼容性。 首先,让我们关注一下I/O流库,它是C++中处理输入输出的主要方式。`std::iostream`包含了`std::cin`(输入)和`std::cout`(输出)...

    c++ 记事本 源码

    如果涉及到图形用户界面(GUI),可能用到了Windows API或者Qt、wxWidgets等跨平台库。 5. **内存管理**: - C++中的动态内存分配(`new` 和 `delete`)可能用于创建和管理文本数据的内存结构,如动态数组或链表。...

    读INI文件的C++类

    总结,`ReadIni`类是一个实现了跨平台读取INI配置文件功能的C++类,它简化了对配置文件的操作,提高了代码的可读性和可维护性。通过合理的设计和实现,我们可以高效地从INI文件中提取和使用所需的数据,同时确保了在...

    C++ 的各种文件读写操作总结

    【C++ 文件读写操作详解】 在C++编程中,文件操作是不可或...而对于需要更底层控制或者跨平台的项目,可能需要使用C的文件操作函数或WINAPI。在使用过程中,确保正确处理文件的打开和关闭,以防止数据丢失或资源泄漏。

    贪吃蛇源代码(C++)

    更高级的实现可能涉及使用操作系统级别的API,如Windows的`GetAsyncKeyState`或跨平台的库如SDL或Allegro。 4. **数据结构与算法**:蛇的身体由多个坐标点组成,可以使用数组或链表来存储。蛇的移动涉及到队列或栈...

    c++builder中操作注册表、ini文件、文件

    注册表操作适用于需要全局设置的应用,INI文件适合小型应用或需要跨平台兼容性的情况,而直接文件操作则提供最大的灵活性,但可能需要更多的代码来处理错误和格式问题。在实际开发中,可以根据程序的规模、复杂性和...

    Cm-master_C++_

    11. **CMake**:由于项目名为"Cm-master",也可能暗指使用CMake作为构建系统,这是一个跨平台的自动化构建工具,可以帮助管理项目的编译过程。 从压缩包子文件的文件名称列表"PyCmd-master"来看,可能还包含了...

    获取系统CPU信息的c++程序

    跨平台的C++代码需要考虑不同操作系统的行为差异。可以使用条件编译或抽象层来实现不同平台的兼容性。 8. **注意事项**: - 获取系统信息时,需确保有合适的权限,并处理可能的异常和错误情况。 - CPU信息可能受...

    C++实现获取IP程序

    在实际应用中,你可能需要更健壮的解决方案,例如使用上述提到的网络编程库来直接获取网络接口信息,这将提供更稳定和跨平台的解决方案。 这个程序在你的开发环境中可以使用VC++或其他编译器打开,如GCC或Clang。...

    查找文件 文件夹 C++

    - 不同的操作系统可能有不同的文件系统限制和行为,编写跨平台代码时需要考虑这一点。 - 访问文件系统可能需要相应的权限,确保在适当的安全上下文中执行操作。 - 性能优化:如果文件数量庞大,应考虑使用多线程...

Global site tag (gtag.js) - Google Analytics