30/09/2018, 22:00
Bó tay Visual Studio 2015
Em gõ đoạn code này vào Visual Studio 2015: http://codepad.org/13csgQoP
Thì báo lỗi liền!
Trong khi đó, em paste vào CodeBlocks, rùi thay gets_s() bằng gets() , thế là CodeBlocks chạy ngon lun.
Vậy là ra sao vậy anh em?
Bài liên quan
Với con trỏ thì
gets_s() đòi hỏi tới 2 tham số. Nên chắc lỗi do vậy đó
https://msdn.microsoft.com/en-us/library/5b5x9wc7.aspx
Em thay code thành ra thế này: http://codepad.org/mWVfrr14
Thì thấy lỗi này:
Bạn thử thay n = 59 xem :?
Lỗi đầu tiên thì bạn thử tạo mới project rồi thực hiện lại xem.
Lỗi thứ 2 là do bạn khi báo
char ten[60]
mà ở hàm nhập tên gọi từ hàm main bạn chỉ truyền cho nó 2 ô nhớ để lưu mà trong 2 ô đó có 1 ô dùng để kết thúc chuỗi, kí tự:"\0"
tên nên chắc chắn sẽ lỗi nếu nhập quá 1 kí tự vì can thiệp vao vùng nhớ không được cho phép, giải quyết: thay giá trị tham số n truyền vào của hàm nhập tên trong hàm main để đủ chứa tên + ký tự"\0"
nhapTen(ten, <đủ ký tự để chứa tên>);
Cuối cùng cũng tìm ra: http://codepad.org/oXrovocO
Giải pháp hay hơn
Giải pháp này vẫn chưa ổn lắm nhỉ? fflush(stdin) có hoạt động với VS đâu nhỉ?
Cũng có thể thay
fflush(stdin)
thànhcin.gnore(1)
.có ạ
chữ số 1 trong cin.ignore(1) rốt cục có nghĩa là sao ạ?
Không có đâu , có cho có lệ thôi. Nó không xóa bộ nhớ đệm được.
Có nghĩa là xóa 1 cái gì đó trong trường vào stdin
xóa toàn bộ chuỗi nhập vào, hay chỉ 1 ký tự em? ^^
cin.ignore(n): cái này là để đọc và loại bỏ n kí tự còn trong trường vào stdin
[quote=“tankhoa0000, post:14, topic:29773, full:true”]cin.ignore(n): cái này là để đọc và loại bỏ n kí tự còn trong trường vào stdin
stackoverflow.com
[/quote]
When and why do I need to use cin.ignore() in C++?
https://www.quora.com/What-is-cin-ignore-and-what-is-the-use-of-it
Prototype:
cin.ignore(<số ký tự bỏ qua>, <kí tự bỏ qua>)
nhưng vẫn có thể dùngcin.ignore()
,cin.ignore(n)
cơ mà số n ở đây nếu là số ký tự được bỏ qua thì sao mình test n=1 mà enter cả chục lần vẫn cho nhập string ok nhỉ, dùng mà vẫn chưa hiểu rõ lắm. , bác nào giải thích giùm em với.bạn đọc ở đây nhé