Chào mọi người. Em có 1 bài tập là đọc file có thông tin phòng thi và tên người thi. Xuất ra phòng thi có số người thi nhiều nhất. Vấn đề em gặp phải đó là khi đọc nó không đọc được chuỗi ký tự.
Em phải làm theo hàm freopen
với file dạng bình thường. Với dạng unicode text này em sài hàm _wfreopen
nên không làm theo các bài mẫu trên mạng được.
Đây là phần code trích gọn của em.
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable::4996)
#include "ThongTin.h"
int main()
{
_setmode(_fileno(stdin), _O_WTEXT);
_setmode(_fileno(stdout), _O_WTEXT);
_wfreopen(L"Input.txt",L"rt" , stdin);
CThongTin a;
a.nhap();
_wfreopen(L"Output.txt", L"wt", stdout);
a.xuatPhongCoNhieuNguoi();
return 0;
}
#include "ThongTin.h"
void CThongTin::nhap()
{
wstring temp;
getline(wcin, temp);
this->maPhong = temp.substr(0, 2);
this->hoTen = temp.substr(3, temp.length());
}
khi debug đến câu lệnh getline(wcin,temp);
thì em thấy nó đọc không đúng.
Không biết em đã dùng sai hàm gì, hay mọi người có thể giúp em tìm ra nguyên nhân và khắc phục với ạ. Cảm ơn mọi người