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

Не получается открыть файл

12.06.2013, 18:48. Показов 1305. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На экран выводится, что не удалось открыть файл, а при компиляции, что переменная "с" не используется в фунции.
Файл находится в одной директории с программой.

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
void positionMode()
{
    clrscr();
    printf("Vvedite imya faila: ");
    char *fname=(char *)malloc(256);
    scanf("%s",fname);
    FILE *fp=fopen(fname,"r");
    if(fp==NULL)
                 {
            printf("Error.Ne udalos otkrit fail!");
            getch();
               }    
    int c;
    while ((c = getchar()) != EOF) {          
    char choice = getche();    //polu4aem nomer stepeni
    char buffer[80];
    gets(buffer);              //polu4enie kol-va impulosv
    int impulsesLeft = atoi(buffer);
    startEngine2(choice, impulsesLeft); //zapusk dvigatelya, v zavisimosti ot nomera stepeni i znaka 4isla impulsov
    impulsesLeft = abs(impulsesLeft);  //znak bolwe ne nujen
    drawPositionMode(choice);
    do
    {
        impulsesLeft = changeImpulses(choice, impulsesLeft);  //menyaem impulsi esli nado
    }
    while(keyProcess2() && sensorProcess2(choice) && impulsesLeft != 0);    //ne escape, ne konzevoi dat4ik, impulsi ewe est'
    stopAll();
    printRegisters();
    printImpulses(impulsesLeft); 
    }
    getch();
}
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2013, 18:48
Ответы с готовыми решениями:

Не получается открыть exe-файл
Всем привет есть проблемка. Не могу открыть запущенный в данный момент exe файл. Открываю для...

Не получается открыть файл - Слишком мало аргументов для вызова функции
Выдает ошибку "Слишком мало аргументов для вызова функции" void input_array_from_file(double *arr,...

не получается открыть файл
всем привет. у меня такая проблема, когда я пишу в программе путь к файлу: char...

Не получается открыть файл
Добрый день, необходимо реализовать обработку данных из файла, я написал следующий отрывок кода, но...

9
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
13.06.2013, 02:57 2
Цитата Сообщение от Glenushk Посмотреть сообщение
На экран выводится, что не удалось открыть файл, а при компиляции, что переменная "с" не используется в фунции.
Файл находится в одной директории с программой.

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
void positionMode()
{
    clrscr();
    printf("Vvedite imya faila: ");
    char *fname=(char *)malloc(256);
    scanf("%s",fname);
    FILE *fp=fopen(fname,"r");
    if(fp==NULL)
                 {
            printf("Error.Ne udalos otkrit fail!");
            getch();
               }    
    int c;
    while ((c = getchar()) != EOF) {          
    char choice = getche();    //polu4aem nomer stepeni
    char buffer[80];
    gets(buffer);              //polu4enie kol-va impulosv
    int impulsesLeft = atoi(buffer);
    startEngine2(choice, impulsesLeft); //zapusk dvigatelya, v zavisimosti ot nomera stepeni i znaka 4isla impulsov
    impulsesLeft = abs(impulsesLeft);  //znak bolwe ne nujen
    drawPositionMode(choice);
    do
    {
        impulsesLeft = changeImpulses(choice, impulsesLeft);  //menyaem impulsi esli nado
    }
    while(keyProcess2() && sensorProcess2(choice) && impulsesLeft != 0);    //ne escape, ne konzevoi dat4ik, impulsi ewe est'
    stopAll();
    printRegisters();
    printImpulses(impulsesLeft); 
    }
    getch();
}
}
C
1
while ((c = getchar()) != EOF)
Гетчар не вернёт EOF. Никогда.
C
1
char *fname=(char *)malloc(256);
Зачем такая конструкция?
C
1
char fanme [256];
Да, а что делает код-то?

Не по теме:


Ну не пишите транслитом же. Пишите кириллицей, не умеете --- на английском. И в комментариях он зачем? Моя личная имха, да.

0
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 23
13.06.2013, 11:00  [ТС] 3
Про гетчар взято с вики

Ввод имени файла из 5 поста этой темы

А код - фрагмент программы для упраления учебным робототехническим комплексом. Речь про степени подвижности и количество импульсов имкрементного датчика этих степеней (для отсчета расстояния)
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
13.06.2013, 13:00 4
Цитата Сообщение от Glenushk Посмотреть сообщение
Про гетчар взято с вики

Ввод имени файла из 5 поста этой темы

А код - фрагмент программы для упраления учебным робототехническим комплексом. Речь про степени подвижности и количество импульсов имкрементного датчика этих степеней (для отсчета расстояния)
Ввод имепни файла ладно, он и так и так будет работать. А вот гетчар читает из стандартного потока stdin, и чтобы он читал из файла необходимо stdin перенаправить.
0
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 23
13.06.2013, 13:17  [ТС] 5
Цитата Сообщение от ComputerMouse Посмотреть сообщение
Ввод имепни файла ладно, он и так и так будет работать. А вот гетчар читает из стандартного потока stdin, и чтобы он читал из файла необходимо stdin перенаправить.
то есть корректно будет так?
C
1
2
int c;
    while ((c = getchar(fp)) != EOF)
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
13.06.2013, 14:07 6
Цитата Сообщение от Glenushk Посмотреть сообщение
то есть корректно будет так?
C
1
2
int c;
    while ((c = getchar(fp)) != EOF)
Нет. Так:
C
1
2
int c;
while ((fscanf (fp,"%c",&c) != EOF)
Самый простой вариант, без перенаправления stdin.
1
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 23
13.06.2013, 14:23  [ТС] 7
спасибо. однако по-прежнему выводится "не удалось открыть".
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
13.06.2013, 14:53 8
Цитата Сообщение от Glenushk Посмотреть сообщение
спасибо. однако по-прежнему выводится "не удалось открыть".
Попробуйте временно заменить имя файла на статичную строку. Подскажет где искать ошибку.
0
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 23
13.06.2013, 15:15  [ТС] 9
Не понимаю в чем проблема. В одной директории с программой лежит файл "cikl.txt", в нем последовательность чисел. Выдает Eror, значит файл даже корректно не открывается. Сдается мне, что даже открывшись он не будет считывать переменные как надо.
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
void positionMode()
{
    clrscr();
    //printf("Vvedite imya faila: ");
    //char *fname=(char *)malloc(256);
    //scanf("%s",fname);
    FILE *fp;
    fp=fopen("cikl.txt","r");
    if(fp==NULL)
                 {
            printf("Error.Ne udalos otkrit fail!");
            getch();
               }    
    int c;
    while ((fscanf (fp,"%c",&c)) != EOF) {          
    char choice = getche();    
    char buffer[80];
    gets(buffer);              
    int impulsesLeft = atoi(buffer);
    startEngine2(choice, impulsesLeft); 
    impulsesLeft = abs(impulsesLeft);  
    drawPositionMode(choice);
    do
    {
        impulsesLeft = changeImpulses(choice, impulsesLeft);  //ìåíÿåì èìïóëüñû åñëè íàäî
    }
    while(keyProcess2() && sensorProcess2(choice) && impulsesLeft != 0);    
    printRegisters();
    printImpulses(impulsesLeft); 
    }
    getch();
0
6 / 6 / 4
Регистрация: 06.11.2012
Сообщений: 254
13.06.2013, 15:31 10
Вижу только один вариант, но странно это... Закомментите IF и считайте строку из файла. Если удастся --- что-то не то с проверкой. Других вариантов не вижу.

Не по теме:

Да и мой тоже бред.

0
13.06.2013, 15:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2013, 15:31
Помогаю со студенческими работами здесь

Не получается открыть dll файл
Хочу посмотреть как устроен файл IsAbusing.dll и по возможности кое-что там изменить. В интернете...

Не получается открыть бинарный файл
Всем привет! Есть класс Garage! у него приватное поле string name и поле fstream inv; Есть...

Не получается открыть текстовый файл
по 7 подскажите Если открывать текстовые документы хоть WordPad? хоть блокнотом выходит такое ...

Не получается открыть файл Excel
Доброго времени суток, Такое затруднение: никак не получается открыть xls файл. код следующий:...


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

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

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