Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

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

FILE*,fopen,fprintf - C++

20.12.2011, 20:06. Просмотров 1703. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 20:06     FILE*,fopen,fprintf
Посмотрите здесь:

fprintf - C++
fprintf Вопрос - данная ф-ция перезаписывает весь файл? То есть сначала очищает, а после записывает или же добавляет запись к концу?

fwrite, fprintf - C++
Подскажите, что указывается в скобках у этих функций? 1 параметр файл, а что за конст_чар? Обьясните чайнику:(

fprintf scanf - C++
Помогите с кодом Хочу сделать считывание с файла и вывод в файл output input #include <stdio.h> #include <io.h> #include...

fprintf ошибка сегментирования - C++
Вот такой код #include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; typedef struct { ...

Аналог функции fprintf в с++ - C++
Здравствуйте! Я долго искал в гугле аналог функции fprintf в с++, но так и не нашел и решил написать на форуме. Существует ли в с++ аналог...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
20.12.2011, 20:15     FILE*,fopen,fprintf #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;
}
2e1553ce
1 / 1 / 1
Регистрация: 16.12.2011
Сообщений: 47
20.12.2011, 22:04  [ТС]     FILE*,fopen,fprintf #3
спасибо

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

Добавлено через 40 минут
с вводом разобрался , как сделать ограничение в сохраняемом файле в 20 символов подскажите плс ;P
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2011, 19:32     FILE*,fopen,fprintf
Еще ссылки по теме:

cin cout и fscan fprintf - C++
Здравствуйте! Помогите понять чем они отличаются. учили в школе както через фсканф и фпринтф хотел разобраться с cin и сout. в fscanf ...

Вывод float через fprintf - C++
Ребят, подскажите как надо прописать fprintf, чтобы вывести у числа float только целую часть. Заранее благодарен.

Запись массива чисел в файл fprintf - C++
Нужно массив записать в файл так, чтобы открыв файл были видны числа. Числа из массива могут быть и отрицательные тоже. Но приведенный ниже...

Ошибка при выводе файла с помощью fprintf - C++
FILE *F=fopen("1_1.txt","w"); std::string st="0123"; for(int i=0;i<st.length();i++) { fprintf(F,"%c",st); } fclose(F); ...

fprintf не может записать значения типа чар в файл - C++
функция принтф не может записать значения типа чар в текстовой файл int wordsGenerator(char name) { //Объявляем// char...

Error C2039: fprintf: не является членом "`global namespace'" - C++
просто не понимаю откуда берется такая ошибка? вроде все правильно пишу... Заголовки функций #pragma once #include <string> ...


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

Или воспользуйтесь поиском по форуму:
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,930
Завершенные тесты: 1
21.12.2011, 19:32     FILE*,fopen,fprintf #4
Для такого ограничения надо перейти к двум вложенным циклам (один перебирает группы по 20 символов и после каждой выводит условие, второй вложен в первый и выводит все 20 символов в текущей группе) или вставить условие внутрь имеющегося (проверять номер текущего символа, и если он кратен 20, то выводить перевод строки).
Yandex
Объявления
21.12.2011, 19:32     FILE*,fopen,fprintf
Ответ Создать тему
Опции темы

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