c++ - 如果将另一个字符添加到数组,则从 ifstream 分配字符数组会破坏数组
问题描述
所以我有一个使用 char 数组而不是字符串的作业。您从 .txt 文件和 ifstream 分配数组。我必须编写的一个函数是将数组与另一个数组连接起来。但是,如果我在初始单词之后添加任何额外的字符,即使我用足够的空间初始化了数组,数组也会中断。
输入.txt
Hi
主文件
#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' 字符。
推荐阅读
- node.js - React 和 Node 应用程序未将图像上传到 Cloudinary,404 错误没有解释
- vba - Access 宏:如何获取当前记录的 ID?
- javascript - 使用 vue 连接来自 api 的信息
- python - 多层folium Python上的搜索框和图层控制
- python - ipyturtle 是否缺少大部分完整的海龟图形模块?
- c - 谁能向我解释这些字符串的行为?为什么我不能清空它们?
- sql - Postgresql count query
- c# - 为什么需要 NativeArray 从 Unity 的 Job System 中获取返回值?
- c - 循环中的诅咒 addch() 在 7 次循环后失败
- python - 我无法通过冒泡排序中的“NoneType”错误