0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 10
|
|
1 | |
Чтение через fscanf_s части строки с пробелом (и запись этой же строки)08.06.2017, 01:27. Показов 1369. Ответов 4
Метки нет Все метки)
(
нужно записать в файл строку, содержащую через табуляцию int, char[слово], char[слово], char[ЧИСЛО СЛОВО], float, int. Далее необходимо из такой же строки вывести значения в соответствующие int, char итд.
Проблема: 1)для ввода с клавиатуры char[ЧИСЛО СЛОВО] не получается использовать cin.getline(buff, N), эта строка попросту игнорируется. Пока что работет метод повтора cin >> / cin>>, объединения в строку через пробел и присваивания этой строки в buff. 2) проблема посерьёзнее. В результате в файле присутствует примерно такая строка: число \t слово \t слово \t ЧИСЛО СЛОВО \t число \t число. Проблема в том, что fscan_f("%s", buff) игнорирует пробел между ЧИСЛО СЛОВО, и записывает в строку только ЧИСЛО. Я, конечно, могу снова повторить двойне чтение, как при вводе с клавиатуры, но, как мне кажется, есть более правильный метод. Прошу помощи.
0
|
|
08.06.2017, 01:27 | |
Ответы с готовыми решениями:
4
Чтение части строки
|
3434 / 2813 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
|
|
08.06.2017, 01:39 | 2 |
0
|
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 10
|
|
08.06.2017, 01:53 [ТС] | 3 |
UPD
узнал про fscanf_S("%c"). Но появилась другая проблема, теперь при, например, %20c, записываются символы из следующего "раздела". Нужно как-то ограничить функцию, чтобы она не вылезала за тбуляцию Добавлено через 57 секунд Как раз cin.sync(); cin.getline(rex->Value, 20); и игнорируется
0
|
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 10
|
|
08.06.2017, 10:38 [ТС] | 5 |
примечательно, что строка НЕ игнорируется, если написать, например, cin.getline(buff, 20, ' ');
Но тогда сходит с ума следующий ввод, несмотря на cin.sync Добавлено через 5 минут UPD Помог cin.ignore(1, '\n'); перед getline. Спасибо. Теперь другая проблема, чтение числа и слова в одну строку. Добавлено через 8 часов 18 минут Проблема решилась. Перешел на бинарный файл вместо текстового.
0
|
08.06.2017, 10:38 | |
08.06.2017, 10:38 | |
Помогаю со студенческими работами здесь
5
Строки. Вывести подстроку, расположенную между первым и последним пробелом исходной строки Чтение из файла строк. Сравнение части каждой строки как даты Запись первой строки табличной части в в реквизит Запись строки в файл и чтение её Чтение и запись в файл по номеру строки Чтение из файла строки. Запись в массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |