C++:从具有空字符的文件中读取

标签 c++ file fstream

不幸的是,我必须从文件中读取数据以进行分配,而不是用空格分隔各个字段,而是使用空字符。当从文件中获取整数时,它们被提取得很好但是对于字符串我只是从我未初始化的字符数组中得到一个空格和垃圾。关于如何将字符提取到我的字符数组中而忽略空字符的任何想法。

编辑:

char fName[15],lName[15],pMethod[5],roomType[10],purpose[15];

int days, roomNum;

long guestID;

datafile>>guestID;
datafile.getline(fName,15,'\0');
datafile.getline(lName,15,'\0');

cout<<guestID<<endl;
cout<<fName<<endl;
cout<<lName<<endl;

不幸的是,我现在正在使用的代码是 fName 没有再次获取 null 以外的任何内容 lName 正在获取 fName 的字符串值。正在考虑将数字作为字符串获取并进行转换。

最佳答案

使用getline并传递 \0(空字符)作为分隔符。

关于C++:从具有空字符的文件中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4071313/

相关文章:

c++ - 从内存读出和读入整个数组到硬盘驱动器(在 C/C++ 中)

c++ - 获取、修改二进制文件的信息?

c++ - 将非常大的 ppm 文件转换为 JPEG/JPG/PNG?

可以通过 SSH 构建的 C++ IDE

Linux parents 文件的父路径

c++ - 如何在 QPainterPath 中描边

c++ - 如何从 fgets 读取整个整数流并推回一维 vector ?

c++ - 使用相同的 fstream 读取和写入相同的文件

c++ - WORD* 类型的参数与 LPCWSTR 类型的参数不兼容

c++ - 使用 iconv 为 iOS 构建 Boost.Locale