Вопрос № 34501: Здравствуйте уважаемые эксперты.
В приложении часть кода, с помощью которого я заношу строку символов с клавиатуры в файл. Строка в файл заносится, но при этом куда-то теряется первый символ. Тоесть я скажем ввел '12345.', а в файл занеслось '234...
Вопрос № 34.501
Здравствуйте уважаемые эксперты.
В приложении часть кода, с помощью которого я заношу строку символов с клавиатуры в файл. Строка в файл заносится, но при этом куда-то теряется первый символ. Тоесть я скажем ввел '12345.', а в файл занеслось '2345.' Подскажите пожалуйста что я делаю не так? Может есть более удобный способ, кроме cin.getline(), занести строку, в которой встречаються пробелы, в массив?
И еще вопрос, никак не пойму почему фунция cin.getline () не работает если перед ней убрать строку: cin >>char(mas);?
Пишу под Turbo C++ 5.0.
Заранее огромное всем спасибо, буду очень признателен за помощь.
Приложение:
Отправлен: 31.01.2006, 19:23
Вопрос задал: Юра (статус: 2-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: X-MAN
Здравствуйте, Юра!
Почему бы не использовать функцию scanf()?
scanf("%s", mas);
в mas будет вся строка, если размер массива достаточный
Ответ отправил: X-MAN (статус: 2-ой класс)
Отправлен: 31.01.2006, 20:24
Отвечает: Zitz
Здравствуйте, Юра!
1. Ну в Вашем случае думаю нитак то, что нумерация в С++ начинается не с 1, а с 0, т.е. перед циклом должно быть i=0;
2. Чтобы занести в массив строчку, то из нее нужно скопировать n символов в массив, для этого можно использовать memcpy (см. пример)
3. Я вообще не понимаю для чего используют cin и cout (в смысле не зачем, а почему), когда гораздо проще и понятней использовать printf, scanf... А вместо этого лезут в побочные классы... Да еще и не знают как они работают :(
4. В примере отписал как занести в файл сторку считанную с клавиатуры в файл до точки, смысл такой считываем строку, а вместо точки ставим ноль, т.е. строку обрубаем и записываем обрубок в файл (концом строки считается символ равный 0).
Приложение:
--------- Успех неизбежен
Ответ отправил: Zitz (статус: 6-ой класс)
Отправлен: 01.02.2006, 15:49