СообЧа > База Знаний > Программирование > C, С++

Вопрос

Проблема такая у появилась. Я только начал изучать С++ и никак не могу понять следующее:

Нужно считать из файла первую и последнюю строку, взять из них некоторые числа и преобразовать их в тип 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 Сообщество Чайников
Контактная информация