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

Не могу разобраться с программой в С++ - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Nusha26
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 26
30.01.2014, 10:56     Не могу разобраться с программой в С++ #1
Написала программку на С++, он ее запускает и как я понимаю выполняет, но вот результатов я не вижу( И вот что мне выдает сама программа:
Код
"Cpc.exe" (Win32). Загружено "D:\Documents\Visual Studio 2012\Projects\Cpc\Debug\Cpc.exe". Символы загружены.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\ntdll.dll". Невозможно найти или открыть файл PDB.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\kernel32.dll". Невозможно найти или открыть файл PDB.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\KernelBase.dll". Невозможно найти или открыть файл PDB.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\msvcr110d.dll". Символы загружены.
Программа "[4756] Cpc.exe" завершилась с кодом 1 (0x1).
Что сие означает? Подскажите пожалуйста!!!!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amidoshka
0 / 0 / 0
Регистрация: 30.01.2014
Сообщений: 4
30.01.2014, 11:42     Не могу разобраться с программой в С++ #2
А код можно у вас попросить предоставить.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.01.2014, 11:55     Не могу разобраться с программой в С++ #3
Скорее всего просто нужно добавить паузу перед завершением:
C++
1
std::system("pause");
Но смущает еще и не нулевой код возврата. Поэтому код в студию.
Nusha26
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 26
30.01.2014, 11:57  [ТС]     Не могу разобраться с программой в С++ #4
Вот он родимый:
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
#include "stdafx.h"
 
#include <windows.h>
#include <stdio.h>
#define  BUF_SIZE   256
int main   (int  argc,   LPTSTR argv   [])
{
HANDLE  hIn,   hOut; 
DWORD  nIn,   nOut; 
CHAR Buffer   [BUF_SIZE];
if (argc != 3) 
{
printf ("Использование: CpW file1 File2\n");
return 1;
} 
hIn = CreateFile (argv [1], GENERIC_READ, 0, NULL, 
OPEN_EXISTING, 0, NULL); 
if (hIn == INVALID_HANDLE_VALUE);
     {
printf ("Нельзя открыть входной файл. Ошибка: %х\n", 
GetLastError ());
return 2;
 } 
hOut = CreateFile (argv [2], GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 
NULL); 
if (hOut ==INVALID_HANDLE_VALUE) ;
{
printf ("Нельзя открыть выходной файл. Ошибка: %х\n", 
GetLastError () ) ;
return 3; 
} 
while (ReadFile (hIn, Buffer, BUF_SIZE, &nIn, NULL) && nIn > 0) 
{
WriteFile (hOut, Buffer, nIn, &nOut, NULL);
if (nIn != nOut) 
{
printf   ("Неисправимая  ошибка  записи:   %x\n",   GetLastError 
( ) ) ;
return  4;
}
}
CloseHandle   (hIn); 
CloseHandle   (hOut); 
return  0;
}
ValeryS
Модератор
6376 / 4842 / 443
Регистрация: 14.02.2011
Сообщений: 16,045
30.01.2014, 12:03     Не могу разобраться с программой в С++ #5
Цитата Сообщение от Nusha26 Посмотреть сообщение
Код
Cpc.exe" (Win32). Загружено "D:\Documents\Visual Studio 2012\Projects\Cpc\Debug\Cpc.exe". Символы загружены.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\ntdll.dll". Невозможно найти или открыть файл PDB.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\kernel32.dll". Невозможно найти или открыть файл PDB.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\KernelBase.dll". Невозможно найти или открыть файл PDB.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\msvcr110d.dll". Символы загружены.
вот на это не обращай внимания
это студия пытается загрузит отладочную информацию
иногда это получается
Код
Cpc.exe" (Win32). Загружено "D:\Documents\Visual Studio 2012\Projects\Cpc\Debug\Cpc.exe". Символы загружены.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\msvcr110d.dll". Символы загружены.
это когда есть она, отладочные библиотеки, свой код
а иногда нет
Код
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\ntdll.dll". Невозможно найти или открыть файл PDB.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\kernel32.dll". Невозможно найти или открыть файл PDB.
"Cpc.exe" (Win32). Загружено "C:\Windows\System32\KernelBase.dll". Невозможно найти или открыть файл PDB.
это библиотеки ядра, никто тебе отладочную информацию не предоставит, если конечно ты не разработчик Windows
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.01.2014, 12:03     Не могу разобраться с программой в С++ #6
Nusha26, судя по всему вы попадаете в ветку (argc != 3), т.к. не задаете никаких параметров для программы. Т.о. программа (скорее всего) отрабатывает корректно. Если хотите видеть результат, поставьте перед каждым return строку
C++
1
std::system("pause");
Это по-крайней мере позволит вам увидеть какой-то вывод. Хотя решение и не из лучших.
ValeryS
Модератор
6376 / 4842 / 443
Регистрация: 14.02.2011
Сообщений: 16,045
30.01.2014, 12:04     Не могу разобраться с программой в С++ #7
Цитата Сообщение от Tulosba Посмотреть сообщение
Но смущает еще и не нулевой код возврата.
Цитата Сообщение от Nusha26 Посмотреть сообщение
C++
1
2
3
4
5
if (argc != 3) 
{
printf ("Использование: CpW file1 File2\n");
return 1;
}
программа запускается без аргументов
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.01.2014, 12:10     Не могу разобраться с программой в С++ #8
Цитата Сообщение от ValeryS Посмотреть сообщение
программа запускается без аргументов
Цитата Сообщение от Tulosba Посмотреть сообщение
т.к. не задаете никаких параметров для программы.
собственно.
ValeryS
Модератор
6376 / 4842 / 443
Регистрация: 14.02.2011
Сообщений: 16,045
30.01.2014, 12:14     Не могу разобраться с программой в С++ #9
Цитата Сообщение от ValeryS Посмотреть сообщение
программа запускается без аргументов
в свойствах проекта
в "Отладка"-"Командные аргументы" дать ему что он просит

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
собственно.
нук одновременно писали

Nusha26
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 26
30.01.2014, 12:18  [ТС]     Не могу разобраться с программой в С++ #10
Цитата Сообщение от ValeryS Посмотреть сообщение
в свойствах проекта
в "Отладка"-"Командные аргументы" дать ему что он просит
А как понять что он просит? Объясните пожалуйста для особо одаренных)
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.01.2014, 12:24     Не могу разобраться с программой в С++ #11
Nusha26, было бы неплохо понять откуда у вас вообще этот код и зачем.
Программа может принимать (или не принимать) аргументы командной строки при запуске.
Скажем, если программа называется prog.exe и ее запустить как
prog.exe param1 param2
то она получит 3 аргумента. argc == 3.
C++
1
2
3
argv[0] == "prog.exe" // всегда имя программы
argv[1] == "param1"
argv[2] == "param2"
Как задать эти параметры при отладке (т.е. в среде разработке) зависит от самой среды.
В студии так:
Свойства проекта - Свойства конфигурации - Отладка - Командные аргументы
перевод вольный, может быть на русской версии они иначе звучат.
ValeryS
30.01.2014, 12:30
  #12

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
перевод вольный, может быть на русской версии они иначе звучат.
так же я с русской 2008 списывал

Nusha26
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 26
30.01.2014, 12:45  [ТС]     Не могу разобраться с программой в С++ #13
Я пытаюсь разобраться в методичке с лабораторными занятиями, и мне надо, чтобы у меня один файл, копиравался в другой, причем при всем этом, программа должна запускаться из командной строки..... вот...
Вот у меня еще один код другой программки есть, может та более понятна, ту я вообще уже редактировала, редактировала, а результатов ноль(

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
#pragma warning(disable: 4996)
 
#include "stdafx.h"
#include <stdio.h>  
#include <errno.h> 
//#include <iostream>
//#include <conio.h>
#define BUF_SIZE 256 
 
int _tmain(int argc, _TCHAR* argv[])
{ 
FILE *in_file, *out_file; char rec 
[BUF_SIZE]; size_t bytes_in, 
bytes_out; 
char *fname = "some_file.txt";
char *fname2 = "copy_file.txt";
if (argc != 3)  
{ 
printf ("Использование: Cрc file1 File2\n"); 
return 1;  
 
} 
errno_t err;
if ((err = fopen_s (& in_file,fname,"rb"))!=0) 
//if (in_file == NULL)  
{ 
perror (fname) ; 
return 2;  
 
} 
if ((err = fopen_s (& out_file, fname2, "wb"))!=0)  
//if (out_file == NULL)  
    { 
perror (fname2 ) ; 
return 3; 
 
} 
/* Обрабатываем входной файл по одной записи. */ 
 while ( (bytes_in = fread (rec, 1, BUF_SIZE, in_file) ) > 0)  
{  
bytes_out = fwrite (rec, 1, bytes_in, out_file) ;  
if (bytes_out != bytes_in)  
{ 
perror ("Неисправимая ошибка записи."); 
return 4; 
 
}
    
} 
 fclose (in_file); 
 fclose (out_file); 
 //_getch();
 return 0; 
 
}
тут вместе с тем что и я как редактировала, поэтому не судите строго)
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
30.01.2014, 13:02     Не могу разобраться с программой в С++ #14
Так почему бы тебе не запустить программу именно из командной строки, а не из студии!? Чтоб уж для наглядности.

Добавлено через 7 минут
А вторая что за программа? Тоже "из методички"? Или в интернете находишь?
Nusha26
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 26
30.01.2014, 13:08  [ТС]     Не могу разобраться с программой в С++ #15
так вот в том то и беда не запускается она у меня(((((( Может я как то не правильно в командной строке прописываю это? Я пишу Cpc а оно не але)))) И прописывала даже cpc some_file,copy_file и все равно не але.... Может вы мне подскажете как это правильно сделать?

Добавлено через 3 минуты
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А вторая что за программа? Тоже "из методички"? Или в интернете находишь?
Вторая тоже из методички первая якобы проводит копирование файлов с использованием библиотек С, а вторая с использованием API Win32..... Вот.... но что-то ни одна не вторая этого не делают..... или может я чего то не догоняю, плохо, что к этой методичке лекций нет(
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
30.01.2014, 13:17     Не могу разобраться с программой в С++ #16
Собираем программу в студии
Заходим в папку debug или release
Копируем оттуда exe-файл.
Вставляем в папку, где находится файл для копирования
запускаем "командная строка"
пишем имя exe файла, пробел, имя первого файла, пробел имя второго файла.
Всё! Жмём enter!
Nusha26
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 26
30.01.2014, 13:33  [ТС]     Не могу разобраться с программой в С++ #17
Ну я так делала а он пишет: не является внутренней или внешней командой, исполняемой программой или пакетным файлом
edwvee
19 / 19 / 2
Регистрация: 27.01.2014
Сообщений: 232
30.01.2014, 13:44     Не могу разобраться с программой в С++ #18
А вы .exe не забыли добавить? Просто если да, то оно заработало бы только, будь программа указана в переменных среды.
Я пишу Cpc а оно не але))))
И зачем для таких стандартных операций использовать windows.h? Для платформозависимости исходного кода?
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
30.01.2014, 14:14     Не могу разобраться с программой в С++ #19
edwvee, а что плохого в windows.h собственно? Линуксоие штоле?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2014, 14:14     Не могу разобраться с программой в С++
Еще ссылки по теме:

Помочь разобраться с программой. Написать функцию вставки элемента в массив C++
Не могу разобраться с программой C++
Не могу разобраться в if C++

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

Или воспользуйтесь поиском по форуму:
Nusha26
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 26
30.01.2014, 14:14  [ТС]     Не могу разобраться с программой в С++ #20
я пишу exe, но все равно ту же ошибку пишет(((( Хеех если бя я знала зачем..... я так понимаю мы должны увидеть особенности программирования в win32...... Я вообще так понимаю, что программа должна брать у меня то что храниться в первом файле и копировать во второй.... но я вот заметила, что второй файл он мне просто создает в отдельной папке и он пустой......
Yandex
Объявления
30.01.2014, 14:14     Не могу разобраться с программой в С++
Ответ Создать тему
Опции темы

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