C++ 从文本文件读取字符到动态分配的数组
C++ Reading Characters from Text File to Dynamically Allocated Array
我对C++相对较新,我正在尝试将文本文件中的序列读取到动态分配的字符数组中。我的代码如下:
while (file.get(c))
{
if (c =='n')
continue;
char *temp = new char[i++];
arrayA = new char[i++];
arrayA[i] = c;
delete [] arrayA;
arrayA = temp;
}
文本文件格式如下:
>NameOfChars
sequenceofchars
这显然是可怕的破坏,但我一直在努力弄清楚人们会用来解决这个问题的确切方法。我知道 Vector 类,但如果这是在堆上重新分配数组的首选方法,我不确定如何使用它。任何帮助将不胜感激。谢谢。
我认为你绝对应该看看向量类,因为它会让你的代码更干净。下面是如何使用它的一个小(未经测试的)代码示例:
#include <vector>
std::vector<char> my_vector;
while (file.get(c))
{
if (c =='n')
continue;
my_vector.push_back(c);
}
欲了解更多信息,请查看 http://www.cplusplus.com/reference/vector/vector/push_back/
原始数组不是动态分配的;因此使用像 vector 这样的 STL 容器会更好。
ifstream inf;
char c;
vector<char> charVec;
while (inf >> c)
{
charVec.push_back(c);
}
相关文章:
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 动态更改数组的大小并读取值.(无矢量)
- 检测到堆损坏:在正常块 c++ 动态 2D 数组之后
- 动态维度数组的 C++ 别名指针
- C++ 在析构函数调用之前删除的动态成员数组
- 从类 c++ 动态创建数组
- 具有静态 std::array 的神经网络比使用动态 C 数组的神经网络慢
- "Error reading character of string" 为哈希动态增长数组的问题 (C++)
- 为什么我们在传递动态 2D 数组时不需要列数?
- 如何解决在使用动态 2D 数组进行矩阵乘法的 MPI 进行并行编程时的问题
- 使用动态布尔数组时出现问题
- C++ 在类中删除动态 2D 数组时不断"Aborted (core dumped)"
- 如何在C 中动态输入数组
- 关于删除动态对象数组
- 在C 中动态更改数组大小
- 使用动态指针数组进行动态对象分配 - 使用什么删除?
- 动态字符串数组分配错误
- 函数中的动态 2D 数组分配并将其返回给主数组
- c++动态字符串数组分配
- 使用字符串或字符动态分配(数组)