Saya ingin membaca daftar kata dari sebuah file, yang memiliki satu kata per baris. Masing-masing kata harus maksimal 4 karakter. Bagaimana saya bisa menghasilkan kesalahan jika salah satu barisnya lebih panjang dari itu?
Saya mencoba membaca kata-katanya menggunakan fgets
char buf[5];
fgets(buf, 5, stdin);
dan dengan scanf
char buf[5];
scanf("%4s", &buf);
namun dalam kedua kasus ini membagi garis panjang menjadi garis yang lebih kecil. Misalnya qwerasdf
dibaca sebagai dua kata, qwer
dan asdf
. Apakah ada cara untuk mendeteksi bahwa ia mencoba membaca baris panjang dengan lebih dari 4 karakter dan malah memberikan kesalahan?
Satu-satunya alternatif yang dapat saya pikirkan adalah membaca masukan karakter demi karakter dan mengurus semuanya sendiri. Tetapi apakah ada solusi yang lebih sederhana dengan menggunakan fungsi dari perpustakaan standar?
fgets
Anda. - person Jongware   schedule 14.04.2020