Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 06.08.2019
Сообщений: 8
1

Не корректная работа функции SubString в AnsiString

23.05.2020, 20:08. Просмотров 100. Ответов 2

Добрый день

Builder 6.

Есть файл состоящий из 2х строк pl.cfg:

source=C:\PL\Disks\InData\Sour ce
target=Server:C:\Disks\db\CONN ECTS-2020_05.gdb

И есть кусок кода:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
extern char SourcePath[256]="";
extern char TargetPath[256]= "";
 
 
  AnsiString  ReadTMP;
  ifstream file;
  file.open("PL.cfg");
  if (file) {
    int i;
    while (file) {
      char *tmst;
      file.getline(tmst,256);
      strcpy(ReadTMP.c_str(),tmst);
      ReadTMP = ReadTMP.LowerCase();
      if ( ReadTMP.Pos ("source=") > 0 ) {
        for (i=0;i<256;i++){ SourcePath[i]=*""; };
        ReadTMP = ReadTMP.SubString(ReadTMP.Pos ("source=")+7,256-7);
        strcpy(SourcePath,ReadTMP.c_str());
        continue;
      };
      if ( ReadTMP.Pos ("target=") > 0 ) {
        for (i=0;i<256;i++){TargetPath[i]=*""; };
        ReadTMP = ReadTMP.SubString(ReadTMP.Pos ("target=")+7,256-7);
        strcpy(TargetPath,ReadTMP.c_str());
        continue;
      };
    };
  };
  file.close();
Первая строка обрабатывается нормально, а вот вторая при обработке функцией ReadTMP.SubString возвращает не полною строку:
Должно быть: Server:C:\Disks\db\CONNECTS-2020_05.gdb
А на выходе Server:C:\Disks\db\CONNECT

Уже упарился. Кто-то сталкивался?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2020, 20:08
Ответы с готовыми решениями:

Не корректная работа функции memmove
Мой код хоть и написан с помощью winapi, но все же вопрос связан не с этим. При первом вызове...

Не корректная работа цикла при вызове функции добавления пользователя
Всем Доброго времени суток. Такая проблема у меня есть класс в который мы вводим имя пользователя...

Работа с Substring
При помощи метода Substring() извлечь из исходной строки 3 подстроки. Сравнить их по количеству...

Работа с substring
Доброе время суток. Такой простой вопрос: в строке (varchar) необходимо выделить последний...

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
29266 / 19345 / 7587
Регистрация: 22.10.2011
Сообщений: 33,725
Записей в блоге: 6
23.05.2020, 20:13 2
Может, уже начать пользоваться средствами Билдера? Скажем, через TStringList это решается в две строки кода:
C++
1
2
3
4
    std::auto_ptr<TStringList> L(new TStringList);
    L->LoadFromFile("pl.cfg"); // первая
    String TargetPath = L->Values["target"]; // вторая
    ShowMessage(TargetPath);
Или обязательно героически париться?
1
0 / 0 / 0
Регистрация: 06.08.2019
Сообщений: 8
23.05.2020, 20:55  [ТС] 3
Давно не писал с++...

Забыл....

Спасибо большое.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.05.2020, 20:55

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Работа с String.Substring
Возникла очень странная проблема с substring, когда я делал интерпретатор. А точнее обработчик...

Работа со строками - Delete и SubString
Не пойму никак, что я делаю не так. На такой ерунде споткнуться обидно. Есть СтрингЛистTStringList...

Некорректная работа SubString - в строке лишний символ
Уважаемые, здравствуйте! Никак не пойму что за беда с SubString. Код: AnsiString Str=&quot;:nii&quot;;...

Метод substring() не работает внутри функции
Всем добрый вечер. Ребят, что за фигня? В функции метод substring() отказывается работать, а за ее...

Реализация функции Substring с помошью указателей
Доброго времени суток! Решил реализовать функцию Substring в C++, с делал это так: char*...

Не корректная работа флэшки
Купил 8Гб флэшку.В маг-не проверили,отформатировали.Всё в норме. А дома файлы с неё не...


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

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

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