Вопросы по теме 'c-strings'

Как я могу эффективно проверить, есть ли в строке специальные символы в C ++?
Я пытаюсь найти лучший способ проверить, есть ли в строке специальные символы. В моем случае все, кроме буквенно-цифровых и "_", считается специальным символом. В настоящее время у меня есть строка, содержащая специальные символы, такие как std ::...
66712 просмотров
schedule 13.03.2023

интересный сбой реализации strcmp. (С)
Я работаю над небольшим проектом, в котором у меня нет доступа к какой-либо стандартной библиотеке C (создание микроядра в структуре ARM с нуля. Даже printf пришлось реализовать) В этом случае я реализовал strcmp, используя машинную методологию...
2526 просмотров
schedule 15.09.2022

C - разбить строку на массив строк
Я не совсем уверен, как это сделать в C: char* curToken = strtok(string, ";"); //curToken = "ls -l" we will say //I need a array of strings containing "ls", "-l", and NULL for execvp() Как мне это сделать?
104470 просмотров
schedule 29.04.2023

Разница между char *str = … и char str[N] = …?
Возможный дубликат: В чем разница между char s[] и char *s в C? Вопрос об указателях и строках в C Я читаю о строках в C и запутался. Я могу «объявить» строки двумя способами: char *str = "This is string"; char str2[20] = "This...
6087 просмотров
schedule 14.01.2024

Разбиение строк в C и сохранение их внутри массива строк, но результат как мусор
Я искал здесь, но, пожалуйста, простите меня, если этот пост является дубликатом ... Я просто хочу прояснить вещи, в которых я не уверен ... Прежде всего, позвольте мне дать представление о том, что я имею в виду: Пользователю будет предложено...
360 просмотров
schedule 27.06.2023

Самый экономичный способ чтения и хранения списка строк в C
Я хотел бы знать, какой самый эффективный способ чтения и хранения списка строк в C. Каждая строка может иметь разную длину, поэтому предварительное выделение большого 2D-массива было бы расточительным. Я также хочу избежать отдельного malloc для...
1450 просмотров
schedule 12.04.2023

Обращение строк формата в стиле C в Python (`%`)
Введение и настройка Предположим, у меня есть строка «шаблон»* формы, >>> template = """My %(pet)s ate my %(object)s. ... This is a float: %(number)0.2f. ... %(integer)10d is an integer on a newline."""...
843 просмотров
schedule 08.01.2023

Игра с указателями, ошеломленный и сбитый с толку строками char *
Итак, я играл с указателями, чтобы понять различные варианты использования, я не настолько опытен в этом и не могу обдумать некоторые идеи. Я отмечу строки, где у меня есть проблема. Пожалуйста, помогите мне понять указатели. в строке 6:...
419 просмотров
schedule 31.10.2022

Передача результатов `std::string::c_str()` в `mkdtemp()` с использованием `const_cast‹char*›()`
Хорошо, итак: мы все знаем, что использование const_cast<>() в любом месте настолько плохо, что это практически военное преступление в программировании. Так что это гипотетический вопрос о том, насколько плохо это может быть в конкретном...
714 просмотров
schedule 03.05.2022

Безопасен ли c_str() для конкатенированного строкового литерала?
Из этого ответа я знаю, что строковые литералы выделяются статически. Но безопасно ли использовать следующую конкатенацию строк? void someFunction(std::string& foo) { functionTakingCString(("start " + foo + " end").c_str()); }...
260 просмотров
schedule 26.06.2022

Даны две строки, найдите слова, которые являются общими для обеих строк.
Например: input: char *str1 = "все хорошо"; char *str2 = "это кто"; вывод: общие слова в двух заданных строках, возврат двумерного массива строк. #define SIZE 31 char ** commonWords(char *str1, char *str2) { int...
828 просмотров
schedule 04.09.2023

Ввод из текстового файла в char *array[9]
У меня есть файл с 9 словами, и я должен хранить каждое слово в массиве char из 9 указателей, но я продолжаю получать сообщение об ошибке. Я не могу использовать векторы! #include <iostream> #include <fstream> using namespace...
1095 просмотров

Если символы доступны только для чтения, почему я могу перезаписывать их?
Мой курс научил меня, что символы char * являются статическими / только для чтения, поэтому я подумал, что это будет означать, что вы не можете редактировать их после того, как вы их определили. Но когда я бегу: char* fruit = "banana";...
5350 просмотров
schedule 02.05.2023

*char заканчивается двойным '\0'
Мой код дает сбой из-за отсутствия символа '\0' в конце некоторых строк. Мне совершенно ясно, почему мы должны использовать этот завершающий символ. Мой вопрос: есть ли проблема с добавлением потенциального второго нулевого символа в массив...
193 просмотров
schedule 27.12.2022

Невозможно избавиться от ошибок даже после использования правильных заголовков
Я только начал учиться программировать на C, не могу избавиться от ошибки. Вот моя программа: /* This program rolls two dice and presents the total. It then asks the user to guess if the next total will be higher, lower, or equal. It then rolls...
838 просмотров
schedule 27.10.2023

qFatal аргумент: преобразование QString в const char* приводит к тому, что строка формата предупреждения не является строковым литералом
В Qt5.9 и clang++-6.0.0, QString ret; qFatal(ret.toLatin1().constData()); выдает предупреждение "строка формата не является строковым литералом". Что не так и как правильно выполнить требуемое преобразование из QString в строку C? PS:...
1461 просмотров

Цикл для получения пользовательского ввода с использованием массива cstring С++
У меня есть задание, которое требует, чтобы я написал программу, которая предлагает пользователю ввести имя ученика и его оценку и продолжает повторяться, пока он не введет «выход». Но я не могу понять, как получить пользовательский ввод для...
1229 просмотров
schedule 01.03.2022

Что происходит, когда массив символов инициализируется строковым литералом?
Насколько я понимаю, следующий код работает так: char* cptr = "Hello World"; «Hello World» находится в разделе .rodata памяти программы. Строковый литерал "Hello World" возвращает указатель на базовый адрес строки или адрес первого...
1014 просмотров
schedule 17.03.2022

__int64 в CString возвращает неверные значения - C++ MFC
Я хочу преобразовать переменную __int64 в CString. Код именно такой __int64 i64TotalGB; CString totalSpace; i64TotalGB = 150; printf("disk space: %I64d GB\n", i64TotalGB); totalSpace.Format(_T("%I64d", i64TotalGB)); printf("totalSpace contains:...
492 просмотров
schedule 01.04.2023

Декодирование шифра Виженера не работает должным образом
Я пишу шифр Виженера, который будет использоваться как часть загружаемого модуля ядра. Таким образом, я не могу использовать библиотеку строк. Вот почему я включил отдельные циклы для получения длины ключа и ввода. Оператор include и main включены...
112 просмотров
schedule 18.09.2022