如果向数组添加另一个字符,则从 ifstream 分配字符数组会破坏数组
Assigning char array from ifstream breaks array if adding another char to array
所以我有一个作业使用字符数组而不是字符串。您从 .txt 文件和 ifstream 分配数组。我必须编写的一个函数是将数组与另一个数组连接起来。但是,如果我在初始单词后添加任何额外的字符,数组就会中断,即使我用大量 space.
初始化了数组
input.txt
Hi
main.cpp
#include <iostream>
#include <fstream>
ifstream in("input.txt");
int main()
{
char A[50];
in >> A;
cout << A << endl; // expecting to print "Hi"
A[2] = 't';
cout << A << endl; // expecting to print "Hit"
in.close();
return 0;
}
我希望看到:
Hi
Hit
而是打印:
Hi
HitpB
有什么帮助吗?
在将值替换为索引 2 后,您忘记在零终止字符数组中添加 '\0' 字符。
所以我有一个作业使用字符数组而不是字符串。您从 .txt 文件和 ifstream 分配数组。我必须编写的一个函数是将数组与另一个数组连接起来。但是,如果我在初始单词后添加任何额外的字符,数组就会中断,即使我用大量 space.
初始化了数组input.txt
Hi
main.cpp
#include <iostream>
#include <fstream>
ifstream in("input.txt");
int main()
{
char A[50];
in >> A;
cout << A << endl; // expecting to print "Hi"
A[2] = 't';
cout << A << endl; // expecting to print "Hit"
in.close();
return 0;
}
我希望看到:
Hi
Hit
而是打印:
Hi
HitpB
有什么帮助吗?
在将值替换为索引 2 后,您忘记在零终止字符数组中添加 '\0' 字符。