Описание тега ungetc

2 ответа

Отмена эффектов ungetc(): "Как" это делают fseek(),rewind() и fsetpos()? Заполняется ли буфер каждый раз?

Ха! Как мне поставить все это в ясный вопрос!! Позвольте мне попробовать: Я знаю, что файлы открываются с помощью fopen() мы буферизуем в память. Мы используем буфер для эффективности и простоты. Во время чтения из файла содержимое файла сначала чит…
22 май '13 в 07:17
2 ответа

fscanf и переключатель не работают

Я пытаюсь прочитать этот файл.txt: (1 2 (3 4 (5 с этим кодом: #include <stdio.h> int main() { FILE* f = fopen("teste.txt", "r"); int i; char j; while (feof(f) == 0){ fscanf(f, "%c", &j); switch (j) { case '(': printf("%c ", j); break; defa…
06 окт '14 в 23:42
2 ответа

IO:: Дескриптор для получения и отмены юникодных символов

Я думаю, что столкнулся с проблемой с Unicode и IO::Handle. Скорее всего, я делаю что-то не так. Я хочу получить и снять отдельные символы Юникода (не байты) из IO::Handle. Но я получаю удивительную ошибку. #!/usr/local/bin/perl use 5.016; use utf8;…
06 янв '13 в 05:59
2 ответа

Путаница, перепроверка функции ungetc

Я не понимаю, как работает эта программа? char c; int i; for(i=1;i<=5;i++) { scanf("%c",&c); printf("%c",c); ungetc(c,stdin); } Вывод программы является символом, который вводится впервые, печатается 5 раз. a aaaaa По сообщению SO В чем разни…
10 июл '15 в 12:33
3 ответа

Понимание ungetc использовать в простом getword

Я сталкивался с таким примером getword. Я понимаю все проверки и т. Д., Но у меня есть проблема с ungetc. Когда c удовлетворяет if ((!isalpha(c)) || c == EOF)а также не удовлетворяет while (isalnum(c)) -> это не буква и не число - ungetc отвергает э…
28 авг '12 в 20:05
2 ответа

Модифицировать fflush(), которая гарантирует вызов ungetc() дважды подряд в C

Я новичок в C, я хочу вызывать ungetc() дважды подряд, хотя я знаю, что в обычном C это не разрешено. Кто-то сказал мне, что я могу изменить Fflush() чтобы сделать эту работу, однако я не знаю, как это сделать. Вот мой код, мой Fflush разрешить толь…
13 мар '16 в 06:32
1 ответ

Почему ungetc не работает на некоторых персонажах?

ungetc() Кажется, не на некоторых персонажей. Вот простая тестовая программа: #include <stdio.h> int main(void) { int c; printf("Type a letter and the enter key: "); #define TRACE(x) printf("%s -> %d\n", #x, x) TRACE(c = getc(stdin)); TRACE…
14 июн '18 в 23:27
3 ответа

Есть ли C++ версия ungetc?

Есть ли C++ версия ungetc? То есть я могу вернуть персонажа обратно в istream?
02 авг '11 в 16:06
3 ответа

ungetc: количество байтов pushback

ungetc гарантированно принимает только один байт pushback. С другой стороны, я протестировал его на Windows и Linux, и он работает с двумя байтами. Существуют ли какие-либо платформы (например, какие-либо текущие системы Unix), на которых он фактиче…
18 окт '11 в 23:05
3 ответа

InputStreamReader.markSupported имеет значение false

Мне нужно "не читать" символы из InputStreamReader, Для этого я хотел использовать mark а также reset но markSupported возвращается false для InputStreamReader класс, поскольку он не поддерживает внутренний буфер и / или очередь символов. Я знаю о B…
03 ноя '09 в 12:14
1 ответ

Функция как ungetc в php

Есть ли в PHP функция, которая делает что-то похожее на ungetc C? Я имею в виду функцию, которая помещает символ обратно в поток?
29 фев '16 в 09:17
1 ответ

fefo не проверяет EOF во время последней итерации цикла while?

У меня есть код, который использует ungetc и функцию fefo, но я заметил, что fefo не проверяет EOF ниже, это мой код #include<stdio.h> int main () { FILE *fp; int c; char buffer [200]; fp = fopen("", "r"); if( fp == NULL ) { perror("Error in o…
16 авг '15 в 06:33
1 ответ

Поиск пустой строки с помощью fscanf

Я должен прочитать некоторые переменные с именами от "A" до "Z" и затем оценить их. Значения в переменных являются матрицами. Это пример ввода: B=[5 2 4; 0 2 -1; 3 -5 -4] E=[-6 -5 -8; -1 -1 -10; 10 0 -7] R=[-1 -7 6; -2 9 -4; 6 -10 2] R+E+B Я написал…
27 ноя '16 в 01:58
6 ответов

ungetc в Python

Некоторые функции чтения файлов (readlines ()) в Pythonскопировать содержимое файла в память (в виде списка) Мне нужно обработать файл, который слишком велик, чтобыбыть скопированы в память и как таковые должны использоватьуказатель файла (для досту…
16 апр '10 в 19:32
1 ответ

Обернуть ungetc() без put () gets() и потоков в целом

Я портирую net-snmp на встроенную платформу, которая имеет ограниченный доступ к файловой системе, и наткнулась на большую проблему. Есть часть основного кода, которая использует функцию ungetc(), которой у меня нет. Есть, конечно, 2 решения: А) нап…
16 ноя '16 в 15:40
1 ответ

Эквиваленты для этих функций в SolFS?

Я делаю расширение для приложения. Мое расширение использует SolFS, и я хочу использовать его для перенаправления всего файлового трафика в SolFS. Для этого мне нужно немного помочь, потому что SolFS не имеет эквивалентов для всех необходимых функци…
30 июл '12 в 03:09
4 ответа

Почему ввод "abc!!!" но вывод не "abC+++"?

Я исследовал файл ввода / вывода. Ниже приведен код некоторых функций, таких как: fgetc(),fgets(),fputs(). Я не знаю, почему это не работает так, как я хочу. Большое спасибо! Ниже мой код: #include <stdio.h> int main() { FILE *fp; //FILE type …
25 июл '16 в 07:41
0 ответов

Возможно ли использование ungetc() для получения длины стандартного ввода для выделения памяти?

Вот логика того, что я пытаюсь сделать; получить входной символ с помощью fgetc() в переменной с именем ch , проверьте, не является ли ch EOF или равным '\n' , увеличить переменную int с именем counter , затем поместите переменную ch в стандартный в…
01 дек '21 в 20:00
0 ответов

почему моя версия ungetch() и getch() была неправильной?

долго ищу в нете. но бесполезно. пожалуйста, помогите мне. /* getch and ungetch to handle EOF Character In all the ungetch and getch * functions written so far, the buf is declared as char buf[BUFSIZ]. * Changing this to int buf[BUFSIZ] enable it to…
08 апр '22 в 13:36
1 ответ

Нажатие символов обратно на стандартный ввод в C

Скажем, входной поток (stdin) содержит «abc». Я хочу отодвинуть, скажем, 3 символа '*' на стандартный ввод, чтобы получить что-то вроде «***abc». я пытался использоватьungetc()(Я сделалungetc('*', stdin)) для этого, но я понял, что он гарантирует от…
08 дек '22 в 09:02