Если Вы просто хотите передать std::string
к функции, для которой нужно const char*
, можно использовать
std::string str;
const char * c = str.c_str();
, Если Вы хотите получить перезаписываемую копию, как char *
, можно сделать это с этим:
std::string str;
char * writable = new char[str.size() + 1];
std::copy(str.begin(), str.end(), writable);
writable[str.size()] = '\0'; // don't forget the terminating 0
// don't forget to free the string after finished using it
delete[] writable;
Редактирование : Заметьте, что вышеупомянутое не является безопасным исключением. Что-нибудь между эти new
вызов и delete
броски вызова, при утечке памяти поскольку ничто не призовет delete
к Вам автоматически. Существует два непосредственных способа решить это.
boost::scoped_array
удалит память для Вас после выхода из объема:
std::string str;
boost::scoped_array writable(new char[str.size() + 1]);
std::copy(str.begin(), str.end(), writable.get());
writable[str.size()] = '\0'; // don't forget the terminating 0
// get the char* using writable.get()
// memory is automatically freed if the smart pointer goes
// out of scope
Это - стандартный путь (не требует никакой внешней библиотеки). Вы используете std::vector
, который полностью управляет памятью для Вас.
std::string str;
std::vector writable(str.begin(), str.end());
writable.push_back('\0');
// get the char* using &writable[0] or &*writable.begin()
Прежде всего, если вы хотите, чтобы вызов AJAX возвращал данные, которые вы планируете использовать в своих сценариях (и под использованием я имею в виду нечто более сложное, чем отображение этих данных в div
), вам, вероятно, следует возвращать данные JSON вместо HTML с вашего сервера. JSON на самом деле является объектом JS, поэтому его можно использовать в JS в момент его получения.
Итак, если вы вернете данные, то есть
{id: 1, status: 'ok'}
, вы можете использовать что-то подобное, чтобы использовать эти данные.
$.ajax({
url: "your/script/url",
type: "POST",
data: {login : 'foo', pass: 'bar'}, // whatever the data is
dataType: "json",
success: function(data){
if (data.status === 'ok') {
console.log('success');
} else {
console.log('error');
}
}
});
Я не уверен полностью ли я понял, что вы имеете в виду. Но ваш пример сообщения о проверке ошибки не будет работать следующим образом:
" Комментарии к документации XML (Руководство по программированию на C #) В Visual C # вы можете создать документацию для своего кода, включив теги XML в специальные поля комментариев в исходном коде непосредственно перед блоком кода, на который они ссылаются. "
http://msdn.microsoft.com/en-us/library /b2s063f7.aspx
затем вы можете использовать Sandcastle для генерации файлов chm, если хотите
-121 --- 14129 ] _cancelled должен быть volatile
. (если вы не выбрали блокировку)
Если один поток изменяет значение _cancelled
, другие потоки могут не видеть обновленное результат.
Кроме того, я думаю, что операции чтения / записи _cancelled
являются атомарными :
Раздел 12.6.6 спецификации CLI гласит: "Соответствующий интерфейс командной строки должен гарантировать, что доступ для чтения и записи к правильному выровненные ячейки памяти не больше чем исходный размер слова атомарен когда все записи обращаются к При рисовании пунктирных линий вы можете варьировать расстояние между штрихами, чтобы убедиться, что у вас никогда не будет частичных четырехугольников на конечных точках. Это может визуально отвлекать, так как расстояние будет регулироваться в зависимости от длины сегмента.
edit:
Ах, картинка помогает. Я предполагаю, что, поскольку это на iPhone, вы получаете серию точек, из которых линии между ними дают приемлемую кривую. Если это так, использование примитивов сплайнов / кривых, вероятно, излишне. Я бы, вероятно, подошел к рисованию линий, как показано, просто путем рисования четырехугольников в каждой точке данных, которая находится на заданном расстоянии от последней точки данных.
Алгоритм будет примерно таким:
- Нарисовать четырехугольник на первой точке данных (с соответствующим поворотом)
- Перемещайтесь по списку точек, пока не «Я @ 190d11Вы получите нежелательные пробелы в заголовках и полях данных. Хуже того,
"
, который должен« защищать »этот разрыв строки в третьем столбце, будет проигнорирован, потому что он находится не в начале поля.Если у вас есть символы, отличные от ASCII (закодированные в UTF-8) в файле у вас должна быть спецификация UTF-8 (3 байта,
шестнадцатеричный EF BB BF
) в начале файла. В противном случае Excel будет интерпретировать данные в соответствии с вашим языковым стандартом по умолчанию. кодировка (например, cp1252) вместо utf-8, и ваши символы, отличные от ASCII, будут удалены.Следующие комментарии относятся к Excel 2003, 2007 и 2013; не тестировалось в Excel 2000
Если вы открываете файл двойным -щелкнув его имя в проводнике Windows, все работает нормально.
Если открыть его из Excel, результаты будут разными: обязательно будет по 50% каждая. В значение может меняться в зависимости от их содержание. Мне также нужны все предметы в эти ячейки независимо от того, сколько строк должны выстроиться так же, как они будет в таблице ».
Вышеупомянутое невозможно в кроссбраузерном режиме без использования таблицы (вы можете смоделировать макет таблицы с помощью CSS:« display: table », но это не работает в IE6 или IE7) .
Я бы посоветовал вам думать немного по-другому при разработке с использованием CSS вместо таблиц, невозможно просто заменить «tr» и «td» на «div» и заставить все волшебным образом работать, как раньше. Я предлагаю вам установите ширину нижних «ячеек» и используйте один из вариантов, которые вам дали выше.
Надеюсь, что это поможет!
Так, например, если у вас есть<mx:Canvas><mx:Label id="myLabel" /></mx:Canvas>
, вы можете получить к нему доступ по его id в качестве имени переменной:
myLabel.text = "Hello world!";
Дайте мне знать, если вам нужны дополнительные разъяснения. Если вы спрашиваете не об этом, не стесняйтесь комментировать, и я сделаю еще один удар.
С уважением, Вам нужно будет вернуть несколько частей информации для вашего ответа. К счастью, вы можете легко сделать это с помощью JSON, и jQuery автоматически обработает это за вас, если вы укажете тип ответа json. Объект, который вы вводите в свою функцию обратного вызова ajax, будет содержать все необходимые вам фрагменты данных в виде различных свойств.
Я бы посоветовал выработать привычку возвращать код состояния «успех» или «неудача» при каждом вызове ajax. , и набор ошибок с ним. См. Эту замечательную запись в блоге для получения дополнительной информации о том, что я имею в виду.
Причина этого в том, что вызов ajax всегда будет в основном «успешным», если только сервер действительно не сможет обработать запрос и не вернет код состояния HTTP сбоя. Если результат запроса похож на ошибку проверки,
try
{
instance.Validate();
return Json(new AjaxResponse(myHtmlData));
}
catch(Exception ex)
{
var response = new AjaxResponse(ex);
// Get your validation errors here, put them into
// your ajax response's Errors property.
return Json(response);
}