CMD窗口停止工作,文本文件使用fstream读取错误
cmd window stops working, text file is read wrong with fstream
在我输出阵列klas []和nauj []时,函数read()中的所有内容似乎都很好,但是回到主要功能中,它们被破坏并似乎被填充了其他文本文件。你有什么想法在这里有什么问题?
#include <iostream>
#include <fstream>
using namespace std;
const char klase[] = "klase.txt";
const char naujokai[] = "lele.txt";
void Read(int klas[], int nauj[], int &nk, int &nj);
int main()
{
int klas[] = {};
int nauj[] = {};
int nk;
int nj;
Read(klas, nauj, nk, nj);
for(int i = 0; i < nk; i++){
cout << klas[i] << endl;
}for(int i = 0; i < nj; i++){
cout << nauj[i] << endl;
}
return 0;
}
void Read(int klas[], int nauj[], int &nk, int &nj)
{
ifstream fklase(klase);
fklase >> nk;
for(int i = 0;i < nk;i++){
fklase >> klas[i];
cout << klas[i] << endl << endl;
}
fklase.close();
ifstream fnaujokai(naujokai);
fnaujokai >> nj;
for(int i = 0; i < nj; i++){
fnaujokai >> nauj[i];
cout << nauj[i] << endl << endl;
}
fnaujokai.close();
}
零大小的数组(例如int klas[] = {};
)不是标准的,并且像您在fklase >> klas[i];
中一样写入它们是不确定的行为,因为它们没有存储任何东西的空间。另请注意,当您使用int klas[]
作为函数参数时,它实际上等于int * klas
。
相关文章:
- 如何在 c++ 中使用 fstream 读取.txt文件
- 使用 fstream 读取 csv,并且只阅读 fstream
- 使用 fstream 读取文件后,我无法立即写入文件
- CMD窗口停止工作,文本文件使用fstream读取错误
- 使用C 中的Fstream读取和附加文件
- 使用Fstream读取二进制文件
- 使用 fstream 读取
- 通过fstream读取文件时,存储在变量中的损坏数据..为什么?
- 如何使用fstream读取文件的特定行
- C++:通过fstream读取txt文件
- 使用 fstream 读取选定的列
- C++ 使用 fstream 读取文件
- FStream读取txt文件
- 使用相同的fstream读取和写入相同的文件
- 我无法使用 fstream 读取.dat文件
- 从fstream读取输入
- c++中使用fstream读取对象
- 使用fstream读取完整文件到字符串的最佳方式
- 在DLL中使用fstream读取文件的问题
- c++ fstream读取utf-8字符集