【发布时间】:2019-03-12 16:44:12
【问题描述】:
我一直在尝试在文件中写入一些文本,然后将这些文本存储在 char 数组中,但它一直忽略空格。 这是我一直在尝试的代码。 谢谢!
ofstream ofile;
ofile.open("file.txt");
int i,item;
char array[100];
ofile << "Amna Alhadi Alnajjar" << endl;
ofile.close();
ifstream ifile;
ifile.open("file.txt");
i=0;
while(!ifile.eof())
{
ifile >> array[i];
i++;
}
ifile.close();
i=0;
while(array[i]!='\0')
{
cout<< array[i];
i++;
}
【问题讨论】:
-
那么对于您的问题:“输入”运算符
>>跳过空格。您可能有兴趣了解std::noskipws操纵器。 -
最后,您确实需要在代码中添加一些错误检查以及边界检查。如果您无法打开任何文件,会发生什么?如果输入文件超过 100 个字符?更重要的是,您在哪里将空终止符
'\0'添加到您的数组中?哦,对于最后一个循环,为什么不使用for循环呢?如果你对数组进行空终止,为什么不将它作为一个字符串而不是一个字符一个字符地输出呢? -
@Someprogrammerdude 非常感谢,我会记住这一点。