Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
danhost
0 / 0 / 0
Регистрация: 30.09.2006
Сообщений: 269
#1

Обработка строки из файла - C++

10.10.2007, 16:01. Просмотров 1841. Ответов 14
Метки нет (Все метки)

Получаю строку из файла.
C++
1
2
3
4
CLogFile* logFileObj=NULL;
logFileObj=new CLogFile(FileName);
CString line;
BOOL res=logFileObj->ReadString(line);
Строка с разделителем ',' типа 'part1','part2','part3' и т.д.

Потом ее надо разбить и скинуть в контрол ListCtrl в разные колумны. Если какие-нибудь средства MFC для разбора строки, кроме стандартных строковых функций C?

Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2007, 16:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработка строки из файла (C++):

Обработка конца строки при загрузке из файла - C++
День добрый. Помогите, пожалуйста. Исходные данные. Есть класс: class ThingPtr { string word; vector <int>...

Обработка строки из файла в порожденном процессе(потоке) - C++
Доброго времени суток. Помогите, пожалуйста, разобраться с чего начать. Задание звучит так: "Поиск указанной строки в указанном файле....

ИНИ-файл. Обработка файла. Строки. (Только для умелых) - C++
С помощью ini-файлов в Windows записываются настройки приложений. Каждая строка ini-файла либо определяет некоторое значение, либо начинает...

Получить третий файл, содержащий чётные строки первого файла и нечётные строки второго файла - C++
Даны два файла, получить третий, содержащий чётные строки первого файла и нечётные строки второго файла. Вообще не имею понятия, как...

обработка строки - C++
Обработка строки при помощи указателей Задание : для ввода всех строк использовать один и тот же символьный массив tmp . ...

обработка строки в с++ - C++
дана строка(вводимая пользователем с клавиатуры). найти и вывести те слова из строки которые начинаются и заканчиваются на одну и ту же...

14
VitSoft
0 / 0 / 0
Регистрация: 25.09.2007
Сообщений: 92
10.10.2007, 19:33 #2
Hi !!
CString::Find(' ');
и рубать CString::Mid(...);
как по другому не знаю

http://www.development.efficientit.com
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
10.10.2007, 20:41 #3
Это csv-файл или просто набор данных, разделенных запятой?
0
danhost
0 / 0 / 0
Регистрация: 30.09.2006
Сообщений: 269
10.10.2007, 21:06  [ТС] #4
а что такое csv-файл???Извиняйте, учусь!
Спасибо!
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
11.10.2007, 11:48 #5
csv - Comma Separated Values, пример такого файла можно создать при помощи Excel.
Особенности:
1) Значения разделены запятыми
2) Если внутри значения есть спец символы или запятые оно помещается в кавычки
3) Если внутри значения есть кавычка - она дублируется
4) поддерживается многострочность - это файл

Например,
first,second,'special sentence with comma:,',something else,la-la-la
'with dbl.quote inside: '' ...',xxx,www

С уважением, Владимир
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
11.10.2007, 11:49 #6
P.S. Хотя по умолчанию Excel создает файл со значениями разделенными точкой с запятой - так уж повелось.
0
danhost
0 / 0 / 0
Регистрация: 30.09.2006
Сообщений: 269
11.10.2007, 13:14  [ТС] #7
А какая разница CSV файл или просто?
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
11.10.2007, 14:30 #8

Разница есть:
- Если это csv - то надо реализовывать всю описанную выше логику (я, кстати, уже делал подобный класс на Java - на C++ будет похоже)
- Если же у тебя просто значения, разделенные запятой, то просто поиск следующей запятой (точки с запятой) в строке и вырезание значения - в этом случае внутри значения не может встречаться разделительный символ.

Решай сам, что тебе нужно.

Удачи, Владимир
0
Bomber
Сообщений: n/a
02.11.2007, 20:40 #9
Напиши Басик. Сразу научишься все делать
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
03.11.2007, 17:07 #10
Ты уже пробовал?
0
Bomber
Сообщений: n/a
08.11.2007, 09:28 #11
Пробовал. Проект по операционкам такой был. Причем версия была прикольная: из текста БЕЙСИК-программы можно управлять самим текстом программы, просматривать переменные по их имени, управлять ходом программы, изменять обработку команд (для PRINT, например), и все такое прочее. Даже выполнять текстовую строку. Вот такой вот Басик.
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
08.11.2007, 10:19 #12
Извини, я не понял ты писал свой бейсик или писал на бейсике?
С уважением, Владимир
0
Bomber
Сообщений: n/a
09.11.2007, 04:50 #13
Писал на сях бейсик.
Как это относится к теме? - приходилось обрабатывать строки, целые файлы, переменные всякие находить, выражения считать. Думаю, каждый (ну, кому не лень) просто обязан написать свой интерпретатор для саморазвития. Отпадает множество вопросов. Потому и советую.
С уважением,
Bomber
Сообщений: n/a
09.11.2007, 05:18 #14
а если серьезно, то вот тебе набросок:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CString strHello='tt2,erewrw,erwerw;werwe'; //твоя строка
int i=0;
CString SpanS=',;'; //это разделители
CString span=strHello.SpanExcluding(SpanS); //первая найденая 
//подстрока (ПКА)
while(span!='')
{
    cout << (LPCTSTR)span << endl;  //типа вывод
    i=strHello.Find(span,i);        //найдем ПКУ, чтобы исключить
    strHello.Delete(i,span.GetLength());
    while(strHello.FindOneOf(SpanS)==0)
        strHello.Delete(0);  //уберем разделители из начала
 
//строки
    span=strHello.SpanExcluding(SpanS); //повторим итерацию
}
sugarde
0 / 0 / 0
Регистрация: 09.10.2007
Сообщений: 598
15.11.2007, 12:52 #15
[FLAME]
Samoe prijatnoe - translator na Prolog, virtualnaja mashinka na C
I golova ne bolit.
[/FLAME]
0
15.11.2007, 12:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2007, 12:52
Привет! Вот еще темы с ответами:

Строки обработка - C++
Задание. ВВести строку, отставить в строке только симметричные фрагменты длинной мин 5 символов. Например asdsa. Остальные заменить на...

Обработка строки - C++
Помогите решить задачи 1. Дана строка текста, в которой слова разделены пробелами и двоеточиями. Необходимо: - определить количество...

Обработка строки - C++
Здравствуйте. У меня есть строка: нолщаувсдлч ощзхзждцвыбьчля start Как удалить все до слова start?

Обработка строки - C++
Доброе время суток. Имеется такая задача : Дана строка, содержащая слова, разделенные одним или несколькими разделительными символами...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru