Вопросы по теме '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 просмотров
schedule
16.06.2023
Если символы доступны только для чтения, почему я могу перезаписывать их?
Мой курс научил меня, что символы 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 просмотров
schedule
29.07.2022
Цикл для получения пользовательского ввода с использованием массива 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