Nhập chuỗi char* str bằng gets

Mình đang có đoạn code bị sai. Mình cần nhập một mảng char gồm 10 phần tử. Mọi người kiểm tra giúp mình với

char *str = new char[10];
for (int i = 0; i < 10; i++)
{
	gets(str[i]);
}

Bạn sửa thành như thế này xem sao nhé :slight_smile:

char *str = new char[10];
for (int i = 0; i < 10; i++)
{
	gets(str);
}
1 Like

Đơn giản thế này thôi:

1 Like

còn lúc xuất ra thì mình chỉ cần puts(str) thôi hả bạn, sao tui xuất nó chỉ ra được giá trị cuối cùng thôi

cách của bạn tui chỉ nhập được 1 phần tử thôi bạn

C++ bạn có thể dùng cin và cout trong thư viện iostream dễ dàng nhập và xuất dự liệu nhé.
Đọc vào sẽ là std::cin >> str; và xuất ra sẽ là std::cout << str;

cách của bạn sao tui nhập vào thì nó cứ nhập thẳng vào str[0] thôi bạn

mình cần nhập một chuỗi mảng đó bạn, cách của bạn là nhập từng ký tự rồi mà mình không nhập được khoảng trắng nữa

Vậy bạn dùng đoạn code này

char s[10];
std::cin.getline( s, 10 );

Nhập 1 ký tự thì dùng getchar :slight_smile:

Mà bạn đang học C++ mà, sao thấy bên C thế :unamused:

không có bạn, mình đang học bên C++ nhưng mà đề lập trình yêu cầu không sử dụng các hàm có sẵn trong string, nên mình phải tự viết riêng hàm của mình

dùng con trỏ được không bạn, mình cần nhập một mảng chuỗi gồm n chuỗi đó bạn

bạn đọc đề đi chứ để mọi người biết nữa :slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?