在C ++中将文件读入字符数组

时间:2016-11-21 01:24:31

标签: c++ arrays file

我一直在编写代码,使用C ++将文件读入字符数组。我试图跳过空格字符但我在输出数组中得到了空格和换行符。

这是类中的一个函数, label 声明为字符数组。

        //Read the label file
 80     this->label = new char[vert_count+1];
 81     std::ifstream file1;
 82     file1.open(label_file);
 83     if(file1 != NULL)
 84     {
 85         char temp; int i = 0;
 86         std::cout << "Label file opened successfully" << std::endl;
 87         if( i< vert_count)
 88         {
 89             file1.get(temp);
 90             if(temp != ' ' &&  temp != '\n'&& temp != '\t')
 91             {
 92                 label[i] = temp;
 93                 i++; 
 94             }
 95         }
 96         label[vert_count] = '\0';//putting null character to terminate
 97         file1.close(); 
 98     }
 99     else        
100         std::cout << "label file cannot be opened\n";
101     for (int i = 0; i< vert_count; i++)
102         std::cout <<label[i];

我的输入文件格式如下所示

a
b
c
d
e
f
1
2
H
M
O

我得到的输出是开始时的一堆字符,然后是空格和新行。

1 个答案:

答案 0 :(得分:3)

我认为你的意思是(第87行):

while (i < vert_count)