0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
1

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

25.11.2013, 05:17. Показов 4069. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите с заданием на контрольную пожалуйста.
Написать программу, определяющую символ чаще других встречается в данном файле. Название файла задается в командной строке.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2013, 05:17
Ответы с готовыми решениями:

В командной строке задается имя входного файла и целое число Н. Распечатать последние Н строк указанного файла
В командной строке задается имя входного файла и целое число Н. Распечатать последние Н строк...

Ввод с клавиатуры содержимого текстового файла, имя которого задается в командной строке, используя системные вызовы и в
ПОМОГИТЕ ПОЖАЛУЙСТА Ввод с клавиатуры содержимого текстового файла, имя которого задается в...

Ввод с клавиатуры содержимого текстового файла, имя которого задается в командной строке, используя системные вызовы
ПОМОГИТЕ, ПОЖАЛУЙСТА, ПОНЯТЬ. У МЕНЯ ЕСТЬ ЗАДАЧА "Ввод с клавиатуры содержимого текстового файла,...

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

8
585 / 488 / 371
Регистрация: 05.11.2013
Сообщений: 1,265
Записей в блоге: 6
25.11.2013, 09:52 2
символы у тя однобайтовые?
и чем с файлом работаешь - fopen/fread или потоки или еще чего?
0
7 / 7 / 4
Регистрация: 06.11.2013
Сообщений: 50
25.11.2013, 10:34 3
Берешь массив итераторов, посимвольно считываешь из файла, увеличивая соответствующий итератор. А при вводе имени файла из командной строки, он будет в переменной argv[i]. Вот
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
25.11.2013, 17:01  [ТС] 4
да, однобайтовые
fopen и fread

Добавлено через 3 минуты
Цитата Сообщение от ABKA Посмотреть сообщение
Берешь массив итераторов, посимвольно считываешь из файла, увеличивая соответствующий итератор. А при вводе имени файла из командной строки, он будет в переменной argv[i]. Вот
не доганяю, можеш написать?
0
585 / 488 / 371
Регистрация: 05.11.2013
Сообщений: 1,265
Записей в блоге: 6
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;
}
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
27.11.2013, 02:39  [ТС] 6
ПерС, как с ней работать?
0
585 / 488 / 371
Регистрация: 05.11.2013
Сообщений: 1,265
Записей в блоге: 6
27.11.2013, 09:42 7
хм... у тя ж написано
Название файла задается в командной строке
я так понял что это означает "запустить с параметром - именем файла", типа из cmd или файл-менеджера:
имя_программы.exe имя_файла
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
27.11.2013, 18:40  [ТС] 8
ПерС, да нет. Тут всмысле, надо написать прогу, в которой название файла можно будет вводить после нажатия F5, а не задавать первоначально в коде.
0
585 / 488 / 371
Регистрация: 05.11.2013
Сообщений: 1,265
Записей в блоге: 6
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

Первоначально в коде название и не задавалось.
Оно передавалось параметром командной строки
0
28.11.2013, 11:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2013, 11:56
Помогаю со студенческими работами здесь

Работа с файлами и командной строкой
Добрый день. В Си совсем новичок, прошу помощи, хочу и нужно разобраться. Стоит такая задача:...

Работа с двоичными файлами и командной строкой
Помогите, пожалуйста! Не нашла похожей задачи здесь, поэтому создаю новую тему. Нужно готовое...

TASM. Копирование указанного файла (имена исходного и результирующего файла задаются в командной строке)
Нашел программу, но не смог добиться работы от нее. Описание: Пример программы (в формате DOS...

Поиск заданного файла в заданной папке (путь и имя файла задаются в командной строке)
Добрый вечер! Как сделать поиск заданного файла в заданной папке(путь и имя файла задаются в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru