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

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

Войти
Регистрация
Восстановить пароль
 
Виктор Яловой
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 15
#1

файлы в С - C++

21.12.2013, 02:37. Просмотров 214. Ответов 5
Метки нет (Все метки)

C
1
2
3
4
5
6
7
8
9
10
file=fopen("file.txt","r");
for(i=0;;i++)
    {do
{n[i]=fgetc(file);
 printf("%c",n[i]);
 }
while (n[i]!=EOF);
break;}
 
fclose (file);
присвоил массиву n символы из файла
но в дальнейшем коде элементы массива (n[0],n[1],n[2]) и т.д. не распознает
при выводе пишет непонятный символ
у кого то есть какие то идеи??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2013, 02:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос файлы в С (C++):

Заголовочные файлы .h, файлы исходного когда c/c++ и установление связи между ними - C++
Всем добрый вечер!) Относительно недавно стал изучать c/c++, хочу полюбопытствовать ,так как появился вопрос. Почему при объявлении...

Работа в Visual Studio 2015 - как добавить файлы исходного кода и заголовочные файлы? - C++
Приветствую всех! Столкнулся с тем, что решая задачи по книге Лафоре про графику, не смог добавить файлы .h и .cpp, скачав их с одной из...

Зачем нужно добавлять файлы в файлы исходного кода - C++
Зачем нужно добавлять файлы в файлы исходного кода (кроме main.cpp)? И как вызвать из main.cpp другой файл?

Заголовочные файлы и файлы cpp - C++
Со временем сложилось представление что при написании программ стоит разделять МЕТА данные и данные, но для лучшего понимания своих...

Раздельная компиляция: что помещать в заголовочные файлы, а что в файлы реализации (исходники)? - C++
Здравствуйте, я учусь пользоваться Visual Studio.Пишу программу, в которой создаются и разрушаются объекты, определенного пользователем...

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки)) - C++
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.12.2013, 03:26 #2
Цитата Сообщение от Виктор Яловой Посмотреть сообщение
у кого то есть какие то идеи??
Идеи будут, когда весь код покажете. Зачем здесь for? Открытие файла для чтения всегда проверять нужно:
C++
1
2
3
4
5
6
file = fopen("file.txt", "r");
if (!file) printf("Error!");
else
{
...
}
Виктор Яловой
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 15
21.12.2013, 03:33  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Идеи будут, когда весь код покажете. Зачем здесь for? Открытие файла для чтения всегда проверять нужно:
C++
1
2
3
4
5
6
file = fopen("file.txt", "r");
if (!file) printf("Error!");
else
{
...
}
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
int main()
{
 
FILE*file;
char n;
char a[50];
int i;
 
file = fopen("file.txt", "r");
if (!file) printf("Error!");
 
{for(i=0;i<100;i++)
    while(!feof(file))
   {fscanf(file, "%c", &n);
   printf("%c", n);
    a[i]=n;
    }}
 
    fclose(file);
 
    
 
getch();
return 0;
}
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.12.2013, 03:45 #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
int main()
{
     setlocale(0, "");
     
     const int N = 50;
     FILE*file;
     char n;
     char a[N];
     int i;
 
     file = fopen("file.txt", "r");
     if (!file) printf("Error!");
     else
     {
         int i = 0;
         while(1)
         {
             fscanf(file, "%c", &n);
             if (feof(file)) break;
             printf("%c", n);
             a[i] = n;
             ++i;
             if (i == N) break;
         }
     }
 
     fclose(file);
 
    getch();
    return 0;
 }
Виктор Яловой
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 15
21.12.2013, 04:03  [ТС] #5
Цитата Сообщение от alsav22 Посмотреть сообщение
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
int main()
{
     setlocale(0, "");
     
     const int N = 50;
     FILE*file;
     char n;
     char a[N];
     int i;
 
     file = fopen("file.txt", "r");
     if (!file) printf("Error!");
     else
     {
         int i = 0;
         while(1)
         {
             fscanf(file, "%c", &n);
             if (feof(file)) break;
             printf("%c", n);
             a[i] = n;
             ++i;
             if (i == N) break;
         }
     }
 
     fclose(file);
 
    getch();
    return 0;
 }

все работает, спасибо
setlocale(0, ""); а что делает эта ф-я?
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.12.2013, 04:13 #6
Цитата Сообщение от Виктор Яловой Посмотреть сообщение
setlocale(0, ""); а что делает эта ф-я?
Чтобы русский текст выводился.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2013, 04:13
Привет! Вот еще темы с ответами:

Файлы.Текстовые файлы - C++
Считая t текстовым файлом (файлом типа text), ответить на следующие вопросы: А)Кроме текстовых файлов,файлы какиъ еще типов могут...

Файлы - C++
Я делал программу,но у меня она работала некоректно, выдавалась только первая строка из файла, я начал искать решение проблемы и на одном...

Файлы - C++
Спасите меня от мучений с этими файлами:wall: Буду очень вам благодарна:-[ В данном задании необходимо осуществить обработку...

Файлы - C++
дан файл f, компоненты которого являются действительные числа. Найти Наибольшее из значений модулей компонент с нечетными номерами


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.12.2013, 04:13
Ответ Создать тему
Опции темы

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