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

std::string variable.data() обрезает содержимое строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ как вывести матрицу http://www.cyberforum.ru/cpp-beginners/thread829430.html
матрица: 2 столбца и 11 строк...
C++ Пожалуйста найдите ошибку в Конечном Автомате на С++ Помогите найти ошибку в Конечном Автомате на С++ для: а*b*с*(d|f)+n*h* . Может даже и не верна введена таблица для исходного выражения. #include "stdafx.h" #include "iostream" #include "string.h" using namespace std; void main() { int j; http://www.cyberforum.ru/cpp-beginners/thread829428.html
C++ Эрор при компиляции
Здраствуйте) Знаю что вопрос смешной, но все-таки.................. Я вот компилирую программу, студия показывает что все хорошо) Как только нажимаю Сtrl+F5, выполнить построение так оно выдает ошибку. В чем собственно дело?????????? #include <iostream> using namespace std; int main() { cout << "Hello, world!";
C++ Определить, сколько раз каждое число используется в массиве
Вот код: #include <iostream> using namespace std; int main() { //двухмерный массив int numbers = {{1, 2, 7} , {2, 5, 3}, {1, 9, 4}, {2, 6, 5}, {7, 2, 2}};
C++ Правописание http://www.cyberforum.ru/cpp-beginners/thread829421.html
Есть метод класса, который в качестве возвращаемого значения выдает указатель. Как правильно писать: int vector :: *get() { ... } или int *vector :: get() { ...
C++ Доступ к элементам связного списка как организовать самый простой для реализации способ чтобы получить доступ к i-му элементу в односвязном списке? придумал только создать вектор в который помещать адрес элемента из списка, получая доступ к i-му элементу вектора, получаем доступ к нужному элементу связного списка. но тогда сама суть пропадает связного списка, раз вектор используем в придачу к нему. подробнее

Показать сообщение отдельно
VN
 Аватар для VN
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 90
06.04.2013, 00:20     std::string variable.data() обрезает содержимое строки
Всем доброй ночи
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
30
31
32
33
34
// read a file into memory
#include <iostream>     // std::cout
#include <fstream>      // std::ifstream
#include <curl/curl.h>
#include <curl/easy.h>
#include <string>
 
 
using namespace std;
 
int main () {
 string gMap;
 string theLink;
 int length = 0;
 ifstream file;
    file.open("_CACHE_001_", ios::binary);   // чтение бинарного файла
    if (file) {
       while (!file.eof()) gMap.push_back(file.get());
        }
    else
      {
       cerr << "ERROR: could not open the file" << '\n';
       return 0;
      }
    string grep ("http://maps.google.ru/maps/iw?");
    unsigned found = gMap.find(grep);
    int begin = found;
    while(gMap[++begin] != ' ')
       ++length;
   theLink = gMap.substr(found, length + 1);
   cout << theLink << '\n' << '\n';
   cout << theLink.data() << '\n';
return 0;
}
в первом cout я получаю
правильный вывод :
C++
1
2
3
4
[url]http://maps.google.ru/maps/iw?ftid=0x4151d5e075d3fa7d%3A0x7d94995e99fdd993&lyr=h%40199000000&iwp=maps_app&t=h&ei=oNWvUNezO-Ko4gTCfw&callback=_xdc_._1zh9vz4r8jrequest-methodGETresponse-headHTTP/1.1[/url][/CPPQT]
 
во втором получаю обрезанный вывод: 
[CPPQT]http://maps.google.ru/maps/iw?ftid=0x4151d5e075d3fa7d%3A0x7d94995e99fdd993&lyr=h%40199000000&iwp=maps_app&t=h&ei=oNWvUNezO-Ko4gTCfw&callback=_xdc_._1zh9vz4r8j
Кто-нибудь может мне обьяснить в чем тут подвох ?

За ранее благодарю.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru