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

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

Войти
Регистрация
Восстановить пароль
 
_nobody_
8 / 8 / 0
Регистрация: 18.04.2009
Сообщений: 115
#1

Запись в файл содержимого консоли - C++

05.11.2009, 22:39. Просмотров 929. Ответов 6
Метки нет (Все метки)

C++
1
2
3
4
5
6
int main (int argc, LPTSTR    argv[])
{
cout<<argv[1]<<endl<<argv [2];
HANDLE hIn, hOut;
hIn=CreateFile (argv [1], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
}
проблема в том что вместо того что я ввожу выводятся какие-то цифры... может есть способ написать так:
C++
1
int main (int argc, char*   argv[])
а потом как то конвертнуть argv в LPTSTR или в LPWSTR или может в TCHAR????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2009, 22:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись в файл содержимого консоли (C++):

Запись содержимого объекта в файл - C++
Привет всем, 1-й раз столкнулся с файлами и сразу проблема :) Как записать поля класса в файл ( хочу сделать что то типа базы, что бы...

Запись в файл , и поиск содержимого / (Библиотека) - C++
Писал в &quot;Visual Studio 2013&quot; Есть каталог библиотеки. Нужно записать информацию о книге в файл, посмотреть содержимое , и найти...

Как открыть файл на запись без удаления содержимого? - C++
нужно записать в определенную позицию в файле, а значит ios::app не подойдет. Неужели никак?

Запись буфера консоли - C++
Работу делаю в Builder'е, в консоле. Нужно реализовать функцию, которая сохраняет буфер консоли, а когда нужно, восстанавливает все как...

Чтение и запись в консоли - C++
Здравствуйте, могли бы вы подсказать как данное сделать? Мне нужно записать в консоль данные (Учитывая что это dll которая будет...

Запись кириллицы в строку из консоли - C++
Столкнулся с такой проблемой: если я пытаюсь заполнить строку из консоли, то потом из этой строки на экран выводятся кракозябры....

6
kravam
быдлокодер
1697 / 884 / 45
Регистрация: 04.06.2008
Сообщений: 5,482
06.11.2009, 00:15 #2
C++
1
2
3
4
5
6
7
8
9
10
#include <windows.h>
#include <iostream>
using namespace std;
 
int main (int argc, LPTSTR    argv[]){
 cout<<argv[1]<<endl<<argv [2];
 HANDLE hIn, hOut;
 hIn=CreateFile (argv [1], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
 getchar ();
}
Так нормально всё выводится.
Но! Если писать латиницей!
0
_nobody_
8 / 8 / 0
Регистрация: 18.04.2009
Сообщений: 115
06.11.2009, 02:13  [ТС] #3
kravam,
я не понимаю чем твой код отличается от моего.... тот же масив из LPTSTR .... и так же само ввожу два названия файла (на латинице) и так же само си аут выводит какие то левые цифры и буквы..
0
kravam
быдлокодер
1697 / 884 / 45
Регистрация: 04.06.2008
Сообщений: 5,482
06.11.2009, 02:44 #4
1) Выложи полностью код
2) Я так понял, ты запускаешь прогу из командной строки так:
C++
1
proga.exe proba1 proba2
Вместо
C++
1
2
proba1 
proba2
Видишь чушь. Так?
0
Monte-Cristo
2790 / 1376 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
06.11.2009, 10:53 #5
Цитата Сообщение от _nobody_ Посмотреть сообщение
а потом как то конвертнуть argv в LPTSTR или в LPWSTR или может в TCHAR????
ты сам понимаешь, что спросил?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// если у нас объвлен UNICODE, то 
// LPTSTR = LPWSTR, если нет - то LPTSTR = LPSTR
#ifdef UNICODE
 typedef LPWSTR LPTSTR;
#else
 typedef LPSTR LPTSTR;
#endif
 
// LPSTR = указатель на CHAR
typedef CHAR *LPSTR;
 
// LPWSTR = указатель на WCHAR
typedef WCHAR *LPWSTR;
 
//Если объявлен UNICODE, то
// TCHAR = WCHAR, если нет - TCHAR = char
#ifdef UNICODE
 typedef WCHAR TCHAR;
#else
 typedef char TCHAR;
#endif
0
_nobody_
8 / 8 / 0
Регистрация: 18.04.2009
Сообщений: 115
06.11.2009, 14:44  [ТС] #6
kravam,
да..ты все правильно понял.... а зачем еще код какой то? я выложил все необходимое.... еще разве что инклуды сюда добавить)
ну разве что вот
C++
1
2
3
4
5
6
7
8
hIn=CreateFile (argv [1], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
 
    if (hIn==INVALID_HANDLE_VALUE) 
    { 
        cout<<"error";
        getch();
        return 2;
    }
сдесь выводит "error" так как имя файла в CreateFile не читаемое.... это думаю весь код что нужно....

Добавлено через 1 час 26 минут
кстате если написать так
C++
1
2
TCHAR stdPath[30] = TEXT("bla.txt");
hIn=CreateFile (stdPath, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
то все нормально... но мне нужно чтобы оно было через командную...
0
kravam
быдлокодер
1697 / 884 / 45
Регистрация: 04.06.2008
Сообщений: 5,482
06.11.2009, 19:06 #7
Причина неясна
Как бы отлаживал я:
Написал бы код:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <windows.h>
#include <iostream>
using namespace std;
 
int main (int argc, LPTSTR    argv[]){
 cout<<argv[1]<<endl<<argv [2]<<endl;
 cout<<&argv[1]<<endl<<&argv[2];
 HANDLE hIn, hOut;
 hIn=CreateFile (argv [1], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
 getchar ();
}
Выполнил бы. Потом НЕ ЗАКРЫВАЯ проги открыл этот отладчик, приаттачился бы к процессу и посмотрел, что находится по выведенным адресам.
По выведенным адресам должны находиться параметры. Потом не знаю, что бы делал. По обстоятельствам. Но я бы добил таким образом всё равно.
0
06.11.2009, 19:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2009, 19:06
Привет! Вот еще темы с ответами:

Ввод string'a с консоли и запись его в вектор - C++
Здравствуйте дело в том что мне надо написать программу которая работает с строчным вектором типа string. Вроде-бы все нормально я набросал...

Сохранить список содержимого директории в файл - C++
Сразу прошу прощения за такой нубовский вопрос :sorry: Вот попросили помочь, а у меня не получается... В ТурбоС нужно написать...

Копирование из консоли в файл - C++
Нужно все, что вывелось в консоли (разные вычисления) записать в таком же виде в текстовый файл. Есть ли какое-нибудь решение покороче, чем...

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


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

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

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