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

Работа с файлами, название файла задается в командной строке - C++

Восстановить пароль Регистрация
 
raindeath
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
25.11.2013, 05:17     Работа с файлами, название файла задается в командной строке #1
Помогите с заданием на контрольную пожалуйста.
Написать программу, определяющую символ чаще других встречается в данном файле. Название файла задается в командной строке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2013, 05:17     Работа с файлами, название файла задается в командной строке
Посмотрите здесь:

Работа с файлами. Редактирование файла C++
C++ Работа с файлами. Чтение из файла.Поиск.
C++ Открыть файл, имя которого задается из командной строки
Работа с файлами - взять 5-ый символ файла C++
Написать программу, которая по указанному в качестве параметра в командной строке файлу создаёт текстовый файл, содержащий листинг исходного файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 806
Записей в блоге: 5
Завершенные тесты: 1
25.11.2013, 09:52     Работа с файлами, название файла задается в командной строке #2
символы у тя однобайтовые?
и чем с файлом работаешь - fopen/fread или потоки или еще чего?
ABKA
7 / 7 / 0
Регистрация: 06.11.2013
Сообщений: 50
25.11.2013, 10:34     Работа с файлами, название файла задается в командной строке #3
Берешь массив итераторов, посимвольно считываешь из файла, увеличивая соответствующий итератор. А при вводе имени файла из командной строки, он будет в переменной argv[i]. Вот
raindeath
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
25.11.2013, 17:01  [ТС]     Работа с файлами, название файла задается в командной строке #4
да, однобайтовые
fopen и fread

Добавлено через 3 минуты
Цитата Сообщение от ABKA Посмотреть сообщение
Берешь массив итераторов, посимвольно считываешь из файла, увеличивая соответствующий итератор. А при вводе имени файла из командной строки, он будет в переменной argv[i]. Вот
не доганяю, можеш написать?
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 806
Записей в блоге: 5
Завершенные тесты: 1
26.11.2013, 13:09     Работа с файлами, название файла задается в командной строке #5
Цитата Сообщение от raindeath Посмотреть сообщение
да, однобайтовые
fopen и fread
тогда это скорее просто Си чем "плюсы"?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <stdio.h>
#include <stdlib.h>
 
int main (int argc, char *argv[]) {
 if (argc!=2) {
  printf (
   "\nЭту программу нужно запустить с параметром-именем файла,например:"
   "\nchartab.exe chartab.cpp");
  fflush(stdin); getchar(); exit(1);
 }
 FILE *f=fopen(argv[1],"rb");
 if (f==NULL) {
  printf ("\nНе могу открыть указанный файл");
  fflush(stdin); getchar(); exit(1);
 }
 unsigned long int chartab[256],max=0;
 unsigned char c; int i;
 for (i=0; i<256; i++) chartab[i]=0;
 while (!feof(f)) {
  fread (&c,1,1,f); (chartab[c])++;
 }
 for (i=0; i<256; i++) {
  if (chartab[i]>max) max=chartab[i];
 }
 //Ответ может быть не единственным
 printf ("\nКол-во раз: %lu, символ(ы)=",max);
 for (i=0; i<256; i++) {
  if (chartab[i]==max) {
   if (i<32) printf ("код %d",i);
   else if (i==32) printf ("пробел ");
   else printf ("%c ",i);
  }
 }
 getchar ();
 return 0;
}
raindeath
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
27.11.2013, 02:39  [ТС]     Работа с файлами, название файла задается в командной строке #6
ПерС, как с ней работать?
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 806
Записей в блоге: 5
Завершенные тесты: 1
27.11.2013, 09:42     Работа с файлами, название файла задается в командной строке #7
хм... у тя ж написано
Название файла задается в командной строке
я так понял что это означает "запустить с параметром - именем файла", типа из cmd или файл-менеджера:
имя_программы.exe имя_файла
raindeath
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
27.11.2013, 18:40  [ТС]     Работа с файлами, название файла задается в командной строке #8
ПерС, да нет. Тут всмысле, надо написать прогу, в которой название файла можно будет вводить после нажатия F5, а не задавать первоначально в коде.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2013, 11:56     Работа с файлами, название файла задается в командной строке
Еще ссылки по теме:

Название файла, как аргумент в командной строке C++
Работа с текстовыми файлами: найти последний символ в строке C++
Работа с файлами и структурами. Найти название предприятия, заплатившего меньше всего налогов C++

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

Или воспользуйтесь поиском по форуму:
ПерС
366 / 282 / 84
Регистрация: 05.11.2013
Сообщений: 806
Записей в блоге: 5
Завершенные тесты: 1
28.11.2013, 11:56     Работа с файлами, название файла задается в командной строке #9
Замени блок
C++
1
2
3
4
5
6
7
8
9
10
11
if (argc!=2) {
  printf (
   "\nЭту программу нужно запустить с параметром-именем файла,например:"
   "\nchartab.exe chartab.cpp");
  fflush(stdin); getchar(); exit(1);
 }
 FILE *f=fopen(argv[1],"rb");
 if (f==NULL) {
  printf ("\nНе могу открыть указанный файл");
  fflush(stdin); getchar(); exit(1);
 }
на
C++
1
2
char filename[80];
//ввод имени файла в переменную filename

Первоначально в коде название и не задавалось.
Оно передавалось параметром командной строки
Yandex
Объявления
28.11.2013, 11:56     Работа с файлами, название файла задается в командной строке
Ответ Создать тему
Опции темы

Текущее время: 13:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru