c-strings

Я уверен, что этот вопрос часто задают, но я просто хочу убедиться, что нет лучшего способа сделать это. В принципе, у меня есть const char*, который указывает на строку C с нулевым окончанием. У меня есть еще одна функция, которая ожидает, что const wchar_t * указывает на строку с теми же символами. В нас...

Здесь у меня есть массив динамически выделяемых c-строк. Как правильно освободить такой массив? Необходимо индивидуально освободить каждый элемент A, как код ниже? Спасибо. #include <string.h> int main() { const char** A = new const char*[3]; A[0] = (const char*)memcpy(new char[5], "st...

На этот вопрос уже есть ответ здесь: C инициализация массива символов 6 ответов Для массивов типа int или double, если размер массива больше, чем число элементов, предоставленных при инициализации массива (например,...

Я написал этот небольшой фрагмент кода на языке Си, чтобы проверить memcmp() strncmp() strcmp() функции в C. Вот код, который я написал: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char *word1="apple",*word2="atoms"; if (strncmp(word1,word2,5...

Пожалуйста, помогите мне понять, в чем разница, используя инициализированный массив символов, такой как char line[80]="1:2" (который не работает !! ) и используя char line[80], а затем strcpy(line,"1:2"). В соответствии с моим пониманием в первом случае у меня есть массив charachter, ему была выделена память,...

Я новичок в JNI, поэтому я не знаком с JNI, а также с английским языком. Мой проект JNI-это простое чтение и запись файлов. Чтение файла в Java и передача массива байтов в C API запись его в файл с помощью C. Мой исходный код: Код Java: public class FileIO { static { System.loadLibrary("FileIO...

Почти каждая другая программа или функция, предназначенная для копирования одного объекта в другой, использует базовое соглашение Копия (источник, назначение) Даже обычная логика привела бы к выводу, что вы копируете что-то отсюда туда. Почему strcpy использует прямо противоположное соглашение? Это только...

следующий код получает ошибку seg в строке 2: char *str = "string"; str[0] = 'z'; printf("%sn", str); хотя это работает отлично: char str[] = "string"; str[0] = 'z'; printf("%sn", str); протестировано с MSVC и GCC....

удивительно простой / глупый / основной вопрос, но я понятия не имею: предположим, я хочу вернуть пользователю моей функции C-строку, длину которой я не знаю в начале функции. Я могу поместить только верхнюю границу длины в начале, и, в зависимости от обработки, размер может уменьшиться. вопрос в том, ест...