Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2e1553ce
1 / 1 / 2
Регистрация: 16.12.2011
Сообщений: 47
#1

FILE*,fopen,fprintf - C++

20.12.2011, 20:06. Просмотров 1823. Ответов 3
Метки нет (Все метки)

Закомментируйте код пожалуйста , если можно поподробней и где неправильно поправьте;>
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main(void) {
  FILE* fp;/// создается указатель на переменную типа FILE
  char *p, buf[255] = {'\0'}; // создается указатель и массив
  printf("in str: ");
  scanf("%254[^\n]", buf); // что значит [^\n]?
 
  fp = fopen("dump.txt", "w+"); //  открытие файла на запись и чтение
  for(p = buf;*p ; *p++)       //  вот тут бы поподробней
       fprintf(fp, "%02X ", *p);  // запись в файл в 16 формате?
  fclose(fp);
  system("pause");
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 20:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос FILE*,fopen,fprintf (C++):

fprintf
fprintf Вопрос - данная ф-ция перезаписывает весь файл? То есть сначала...

fwrite, fprintf
Подскажите, что указывается в скобках у этих функций? 1 параметр файл, а что...

fprintf scanf
Помогите с кодом Хочу сделать считывание с файла и вывод в файл output input...

fprintf ошибка сегментирования
Вот такой код #include <stdio.h> #include <stdlib.h> #include <iostream> ...

Аналог функции fprintf в с++
Здравствуйте! Я долго искал в гугле аналог функции fprintf в с++, но так и не...

fprintf не переводит на новую строку
fprintf(fz,"%7s|%7s|%7s|%7s|%7s|\n ",Ndv1,Kd1,Mvx1,Nk1,Urash1,Nper1); не хочет...

3
Nick Alte
Эксперт С++
1646 / 1018 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
20.12.2011, 20:15 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main(void) {
  FILE* fp;/// создается указатель на переменную типа FILE
  char *p, buf[255] = {'\0'}; // создается указатель и массив
  printf("in str: ");
  scanf("%254[^\n]", buf); // %254[^\n] значит "ввести строку не более 254 символов, признак конца - перевод строки", по идее должно быть "%254[^\n]s"
 
  fp = fopen("dump.txt", "w+"); //  открытие файла на добавление (запись без стирания предыдущего содержимого)
  for(p = buf;*p ; *p++)       //  начиная с p = buf до тех пор, пока не встретится нулевой символ, перебирать по одному символу. Тут должно быть просто p++, без *
           fprintf(fp, "%02X ", *p);  // запись очередного символа в файл в 16 формате
  fclose(fp);  // закрытие файла
  system("pause");
  return 0;
}
1
2e1553ce
1 / 1 / 2
Регистрация: 16.12.2011
Сообщений: 47
20.12.2011, 22:04  [ТС] #3
спасибо

Добавлено через 1 час 7 минут
Можете еще подсказать как сделать чтобы ввод не заканчивался при нажатии 'Enter'(в консоли) и в созданном файле (dump.txt) при количестве символов больше 20 происходил переход на новую строку?
Тоесть ввожу в консоли например 30 символов , жму энтер ввожу еще 40 итд...
а при нажатии 'Esc' программа закрывается и все сохраняется в файле с лимитом строки в 20 символов.

Добавлено через 40 минут
с вводом разобрался , как сделать ограничение в сохраняемом файле в 20 символов подскажите плс ;P
0
Nick Alte
Эксперт С++
1646 / 1018 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
21.12.2011, 19:32 #4
Для такого ограничения надо перейти к двум вложенным циклам (один перебирает группы по 20 символов и после каждой выводит условие, второй вложен в первый и выводит все 20 символов в текущей группе) или вставить условие внутрь имеющегося (проверять номер текущего символа, и если он кратен 20, то выводить перевод строки).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2011, 19:32
Привет! Вот еще темы с решениями:

Fprintf Разделить число запятой по 1к
printf("%i", 234657); Как сделать, чтобы вывело: 234,657

Вывод float через fprintf
Ребят, подскажите как надо прописать fprintf, чтобы вывести у числа float...

cin cout и fscan fprintf
Здравствуйте! Помогите понять чем они отличаются. учили в школе както через...

Fprintf пишет в файл с ошибками
Здравствуйте. Имеется программа общения с устройством по COM порту. Так же есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru