Вопрос
Проблема такая у появилась. Я только начал изучать С++ и никак не могу понять следующее:
Нужно считать из файла первую и последнюю строку, взять из них некоторые числа и преобразовать их в тип int. Пример содержания файла:
"Программа запущена в 12:03:58 …
---------------||------------------
Программа завершила работу в 02:10:01…"
Например: необходимо преобразовать к типу int 12 и 03(3)в первой строке, и 02(2) и 10 во второй.
Ответ
Попробуй сам написать подпрограмму.
Теория: Цифра в текстовом файле — совсем не цифра, а символ с определенным кодом, как и все.
если написать (буду СИ'шным писать):
записать следующий символ в simbol
printf("символ \"%с\" имеет int-код \"%d\"\n",simbol,simbol);
Таким образом ты увидишь, что цифры находятся в определенном диапазоне
(например, 32 — Ю
33 — Я
34 — 0
35 — 1
.. — ..
43 — 9)
Следовательно каждый символ можно проверять на условие:
if( simbol > 33 && simbol < 44 ){ simbol_massiv[0]=simbol; i=0; while(simbol!=":"){ считать новый символ i++; simbol_massiv[i]=simbol; } my_int=function_char_int(simbol_massiv); }
Если символ — цифра, что записать все эти символы в массив и передать в функцию преобразования символа в число (к сожалению, я не знаю как называется эта функция и есть ли такая в Вижал Си). Берешь массив, определяешь длину. Переводишь чар-массив в инт-массив. А дальше — последнее значение умножаешь на единицу, предпоследнее на десять и т.д. Затем все складываешь и «return my_int;»
Считываешь строку, пока
Из конференции Expert_FAQ
i=atoi (s);-из строки в число
s[0]=ch;s[1]=0;-представление символа в строку
Copyright 2000-2004 Сообщество Чайников
Контактная информация