Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2009, 17:02   #1
TIT0
 
Регистрация: 08.03.2009
Сообщений: 4
По умолчанию Разбор строки GPS

Вобщем у меня небольшая проблемка, надо разобрать большой файл, обьемом около 500к строк с данными ГПС. В файле строки
$GPRMC,153255,A,6734.2373,N,03323.8 671,E,000.0,354 .3,090209,013.2,E*7A

Мне надо вытаскивать в 2 массива значения широты и долготы 6734.2373, 03323.8671. Потом с ними еще надо будет проводить кое какие математические операции, но это уже не важно, у меня проблема в разборе самой строки, вобщем никак не получается вытащить значения широт и долгот, хелпните в чем не прав)

PHP код:
#include <stdio.h> 
#include <string.h>  
#include <stdlib.h> 
#include <iostream> 
#define FNAME "abc.txt"  
int main(void
 {  
char fname [20]= FNAME;  
FILE *in
 
int flag,i,P,test
 
char array[150]; 
 
char k
 if ((
in fopen(fname"r"))== NULL)  

 
printf ("Error open file");  
return 
1
 } 
 while((
fgetc(in)) != EOF)  

 if (
k==','&&flag==3// символ запятая И флаг==3, я так понимаю что когда вхожу в ИФ то указатель остается на том же символе, или не так?  

 
testfscanf(in"%1e", array); // здесь я пытался вытащить 1 символ из In 
 
i++; 
 
flag=flag+1;  

 else { 
flag++; } //тут пока еще непридумал как дальше флаг увеличивать и обнулять  

 
fclose(in); 
 return 
0
 } 
Переменную flag я ввел чтобы запятые считать.
TIT0 вне форума Ответить с цитированием
Старый 08.03.2009, 18:44   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Используйте функцию fgets. Она считывает всю строку целиком. А потом с помощью служебных функций isdigit() и isalpha() проверяйте, какие символы вам нужны, а какие нет.
Функция isdigit() првоеряет является ли символ цифрой, а функция isalpha() проверяет является ли символ буквой.
MaTBeu вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GPS Tracking для Mobile Phones Calf Фриланс 1 20.02.2009 14:42
Программа на заказ (требуется знание GPS и работы с эл.почтой) Magus Фриланс 4 20.01.2009 08:40
разбор текста Teksa Помощь студентам 1 10.11.2008 20:14
Разбор dll PanGolin Фриланс 13 26.05.2008 01:56
Разбор изображения на фигуры Роман Радер Общие вопросы Delphi 8 10.02.2007 19:20