30/09/2018, 17:13

Đọc tới cuối file text thì kí tự bị biến đổi

Em đang đọc file đưa dần từng từ vào 1 vector thì nó bị lỗi ở ngay từ cuối cùng (em đã xử lí string: xóa dấu câu, xóa các kí tự không in được các kiểu).
Có 1 điều là ở ngay cái từ cuối đó thì nó bị biến đổi như sau: closed -> closedÍ (để ý cái " Í "), em không hiểu sao lại bị như này và em nghĩ cái đó liên quan tới cái lỗi này

Ha Gia Phat viết 19:21 ngày 30/09/2018

hàm xóa 1 số dấu câu của em

void remove_punc(char *&buffer) //remove punctuation in a single buffer
{
	char *src = buffer;
	char *dst = buffer;
	while (*src)
	{
		if (ispunct((unsigned char)*src))
		{
			//skip
			src++;
		}
		else if (isupper((unsigned char)*src))
		{
			//make lowercase
			*dst++ = tolower((unsigned char)*src);
			src++;
		}
		else if (src == dst)
		{
			// Increment both pointers without copying 
			src++;
			dst++;
		}
		else
		{
			// Copy character 
			*dst++ = *src++;
		}
	}
	*dst = '\0';
}
Ha Gia Phat viết 19:22 ngày 30/09/2018

em sửa được bug rồi ạ

Ha Gia Phat viết 19:27 ngày 30/09/2018

thực ra là cái lỗi unhandle exception violation writing at location 0x0000 là em đã ghi vào NULL, bỏ vào 1 cái if nữa để break thì hết rồi ạ

Bài liên quan
0