Articles of buffer

fscanf help: как проверить форматирование

Таким образом, текущая функция должна видеть что-либо, хранящееся между двумя знаками фунта (# abc # должно возвращать abc), но если я хочу проверить ошибку, чтобы увидеть, есть ли значок фунта, или между знаками фунта нет или что длина строки между двумя знаками фунта больше определенного количества символов, я могу использовать функцию fscanf для этого? Вот […]

Получение данных из указателя в структуре «Недопустимое чтение / запись»

Я пытаюсь выполнить реализацию циклического буфера в массиве. Я сохраняю свои данные в структуре и управляю ими несколькими способами, такими как push, pop и т. Д. Программа более или менее функциональна и ведет себя так, как ожидалось, однако я сталкиваюсь с ошибками в моем испытании valgrind. И я не в состоянии выяснить, что не так […]

Почему перемещение указателя буфера замедляет fread (язык программирования C)?

Я читаю 1 ГБ файл, используя fread в C. Я читаю файл в блоках 1 Мб, используя следующий цикл: FILE *fp; fp = fopen(filename, “rb”); unsigned char* buf; buf = malloc(CHUNK_SIZE); for(i = 0; i < NUMBER_OF_CHUNKS; ++i) { fread(buf, CHUNK_SIZE, 1, fp); //Do something with contents of buffer } fclose(fp); Чтение файла таким образом […]

Почему char name может содержать более 1 символа?

Когда я сталкивался с этой ситуацией, я делал немного исследований по теме. Предположим, что следующий код C: #include int main() { char name[1]; scanf(“%s”,name); printf(“Hi %s”,name); return 0; } Я скомпилировал с -fno-stack-protector и протестировал его с более длинным входом, чем 1, и, к моему удивлению, он работает! Должна ли она бросать ошибку сегментации, когда […]

Как определить объем буферного пространства для записи / вывода, оставшегося на последовательном порту linux?

Вы можете определить, сколько данных доступно для чтения из последовательного порта в Linux, используя ioctl. Можно ли определить, сколько буферного пространства остается для последовательного порта при записи на него? Фактически я хочу записать блок данных в serial port, преуспевая только в том случае, если его можно будет выгружать за один раз или если он не […]

Как я могу использовать собственный интерфейс Java для передачи байтового массива в функцию C, которая принимает символ char * в качестве аргумента?

Поэтому мне нужно использовать JNI для вызова функции C из java. Я смог успешно выполнить это при передаче в разных типах данных (создать собственные переменные, заголовочный файл, общую библиотеку, blah blah), но не может заставить его работать с массивом байтов. Вот моя функция C: #include void encrypt(int size, unsigned char *buffer); void decrypt(int size, unsigned […]

getchar () или putchar () продолжает есть первый символ моего ввода

edit: этот вопрос решен. спасибо за все ответы Это моя программа: #include int main(){ printf(“write something : \n”); int c = getchar(); while((c = getchar()) != EOF){ if (c == ‘ ‘ || c == ‘\t’) printf(” \n”); else putchar(c) } return 0; } каждый раз, когда я запускаю его, он отлично работает, но ест […]

Буфер GetCurrentDirectory не возвращает правильное значение

У меня проблема с GetCurrentDirectory() , и я действительно не понимаю, почему. Я не понимаю, что это работает для XP, но не для Seven (или, по крайней мере, на моем компьютере). Есть мой код: char dir_name[1024]; // as a global variable int get_files() { // … DWORD dwRet; dwRet = GetCurrentDirectory(MAX_PATH, dir_name); printf(“%s\n”,dir_name); printf(“%d\n”,dwRet); //… […]

Как я могу привязать массив пикселей целых цветов к текстуре с помощью Android NDK?

Я пытаюсь перенести свой Java OpenGL-код на Android в родной SDK, и мне нужна реализация IntBuffer. В основном то, что я делаю в Java для загрузки произвольного целочисленного массива пикселей RGBA в текстуру, является: // pixel array pixelIntArray = new int[width * height]; bb = ByteBuffer.allocateDirect(pixelIntArray.length * 4); bb.order(ByteOrder.nativeOrder()); // native buffer pixelBuffer = bb.asIntBuffer(); […]

mmap vs O_DIRECT для случайных чтений (каковы используемые буферы?)

Я использую hash-таблицу на основе диска, поддерживающую большое количество ключей (26+ миллионов). Значение десериализуется. Считывание по сути является случайным во всем файле, значения меньше размера страницы, и я оптимизирую для SSD. Безопасность / согласованность – это не такие огромные проблемы (вопросы производительности). Мое текущее решение включает использование файла mmap() с MADV_RANDOM | MADV_DONTNEED MADV_RANDOM | […]