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

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

Войти
Регистрация
Восстановить пароль
 
Swee
0 / 0 / 0
Регистрация: 25.08.2010
Сообщений: 9
#1

Работа с файлами - C++

25.08.2010, 15:43. Просмотров 793. Ответов 6
Метки нет (Все метки)

Ребят, помогите плиз написаь программку, которой параметром передается имя текстового файла, а она выводит этот файл на экран...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2010, 15:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с файлами (C++):

Работа с файлами на С++ - C++
Как сохранить результат вычислений на текстовом файле? Я пробовал открыт текстовый файл в начале программы и и в конце закриваль но не...

Работа с файлами C++ - C++
Доброго времени суток. Написал программу с выводом в файл, но она выводит совсем левое число, скажите где тут косяк? Сильно не материте я в...

работа с файлами - C++
где char data должно быть чтение из файла.Пример как я это реализовал тут //функция шифрования void encryption(unsigned long long...

Работа с файлами - C++
В радиоателье хранятся квитанции о сданных в ремонт телевизорах. Каждая квитанция содержит марку телевизора, дату приемки в ремонт,...

Работа с файлами - C++
Сама задача звучит так: задан текстовой файл, содержащий вещественные числа (сколько мы не знаем). Необходимо считать данные из этого...

работа с файлами - C++
Объясните пожалуйста программу. Нужно ли мне создать и записать в текстовый файл самой или он сам создаётся и всё туда записывается? И...

6
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
25.08.2010, 18:04 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(int argc, char ** argv){
    char buf[BUFSIZ] = "type ";
    if ( argc < 2 ){
        fprintf(stderr, "Usage: %s file_name\n", argv[0]);
        return 1;
    }
    system(strcat(buf, argv[1]));
    exit(0);
}
1
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
25.08.2010, 19:59 #3
C++
1
2
3
4
5
6
7
8
#include <iostream> 
#include <fstream> 
 
int main( int argc, const char* argv[] ) 
{ 
  std::cout << std::ifstream(argv[1]).rdbuf() << std::endl; 
  return 0; 
}
1
Swee
0 / 0 / 0
Регистрация: 25.08.2010
Сообщений: 9
29.08.2010, 19:17  [ТС] #4
Спасибо всем, все великолепно!!!

Можете пожалуйста чуток исправить, а то я еще тока учусь...

Надо, чтобы мы сами открывали файл и все из него могли прочитать и распечатать... Т.е. грубо говоря, чтобы мы могли при распечатывании что-то еще сделать с текстом. Нужно заменить все встречающие буквы А на Х. Помогите пожалуйста! Буду премного благодарен!
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
29.08.2010, 21:36 #5
Цитата Сообщение от Swee Посмотреть сообщение
Надо, чтобы мы сами открывали файл и все из него могли прочитать и распечатать... Т.е. грубо говоря, чтобы мы могли при распечатывании что-то еще сделать с текстом.
Да не вопрос, только буковки менять - это не интересно...
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
 
char * strtoupper(char * s){
    char * p;
    
    if ( ! s )
        return NULL;
    
    for ( p = s; *p; ++p )
        *p = toupper(*p);
    
    return s;
}
 
char * strtolower(char * s){
    char * p;
    
    if ( ! s )
        return NULL;
    
    for ( p = s; *p; ++p )
        *p = tolower(*p);
    
    return s;
}
 
void usage(const char * s){
    fprintf(stderr, "Usage: %s [-u | -l] [-n] <file_name> | -h\n", s);
}
 
int main(int argc, char ** argv){
    char buf[BUFSIZ], * progName, * fileName, * arg;
    FILE * f;
    long cnt;
    int lowerFlag, upperFlag, cntFlag;
    
    progName = argv[0];
    cnt = 0;
    lowerFlag = upperFlag = cntFlag = 0;
    
    if ( argc < 2 ){
        usage(progName);
        exit(1);
    }
    
    while ( --argc ){
        arg = *++argv;
        if ( *arg == '-' ){
            switch ( *++arg ){
            case 'h' :
                printf("This program reads file given as parameter file_name line by line\n"
                        "and prints it to standart output. Parameters:\n"
                        "-u print characters in uppercase, can't be used with -l\n"
                        "-l print characters in lowercase, can't be used with -u\n"
                        "-n print line numbers\n"
                        "-h print this help message and exit\n"
                    );
                exit(0);
            case 'n' :
                cntFlag = 1;
                break;
            case 'u' :
                upperFlag = 1;
                break;
            case 'l' :
                lowerFlag = 1;
                break;
            default :
                fprintf(stderr, "%s: unknown parameter -%c\n", progName, *arg);
                usage(progName);
                exit(1);
            }
        }
        else
            fileName = arg;
    }
    
    if ( lowerFlag & upperFlag ){
        fprintf(stderr, "%s: you can't use parameters -l and -u at same time!\n", progName);
        usage(progName);
        exit(1);
    }
    
    if ( ( f = fopen(fileName, "r") ) == NULL ){
        fprintf(stderr, "%s: can't open file %s for input!\n", progName, fileName);
        exit(1);
    }
    
    while ( fgets(buf, BUFSIZ, f) ){
        if ( cntFlag )
            printf("%03d   ", ++cnt);
        printf("%s", ( lowerFlag ) ? strtolower(buf) : ( upperFlag ) ? strtoupper(buf) : buf);
    }
    if ( ferror(f) ){
        fprintf(stderr, "%s: error while reading file %s\n", progName, fileName);
        exit(1);
    }
    
    if ( fclose(f) ){
        perror("fclose");
        exit(1);
    }
    
    exit(0);
}
1
Swee
0 / 0 / 0
Регистрация: 25.08.2010
Сообщений: 9
30.08.2010, 12:13  [ТС] #6
Какой божественный ответ! =) Спасибо) Пойду разбираться и заодно погляжу куда воткнуть буковки)))

Добавлено через 23 минуты
Ой)) Budda, расскажите пожалуйста как это чудо работает)) Я нажимаю ctrl-F5 и получаю путь к проекту))) А как там что либо менять?) что-то я не понял)
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
30.08.2010, 20:20 #7
Цитата Сообщение от Swee Посмотреть сообщение
Я нажимаю ctrl-F5
У меня вот Ctrl+F5 хоть обнажимайся - ничего интересного не происходит... Да и вопрос как-то не понял, если честно... У Вас по заданию программа должна имя файла в качестве параметра принимать. Это значит, что имя файла должно в командной строке после имени программы указываться. Если Вы скомпилированную программу прямо из среды разработки (MS VisualStudio, CodeBlocks, etc...) запускаете, где-то в настройках должны быть параметры, которые программе при запуске передаются... Я IDE не пользуюсь (по крайней мере для консольных программ), могу рассказать, как из консоли запустить:
Win+R (Win - это кнопка с флажком между Ctrl и Alt), в появившемся окне пишите cmd жмёте enter - открывается окно консоли. В нём
cd \path\to\compiled\program
porogram.exe file.txt
(file.txt - текстовый файл, находящийся в одной папке с программой)
Как осилите это замысловатое действо, попробуйте
program.exe -h
program.exe -u -n file.txt
0
30.08.2010, 20:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.08.2010, 20:20
Привет! Вот еще темы с ответами:

Работа с файлами - C++
Задание звучит так: каждая строка файла содержит такую последовательность символов: a#b, где a,b - целые числа, #-одна из арифметических...

Работа с файлами - C++
Скажите поожалуйста как сделать что бы программа могла читать и записывать в любой фаил информацию т.е Могла читать из фаила и...

работа с файлами - C++
пишу прогу по файлам на С++, мне нужно использовать ф-ию которая сбрасывает указакеть на начало потока. В Си есть ф-ия rewind, есть ли...

работа с файлами - C++
лет 5 назад изучал с++ консольный еще в технаре. Щас php считаю более востребован да и проще. Для интереса подскажите какои оператор...


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

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

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