Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 153
1

FileT

08.04.2010, 17:29. Просмотров 704. Ответов 15
Метки нет (Все метки)

Скажите как открыть файл txt для чтения, и где указывается путь
0
4 / 4 / 4
Регистрация: 14.12.2009
Сообщений: 17
09.04.2010, 01:00 2
да полно литературы в интернете, почитай сам.
Google---> чтение из файла c++

C++
1
2
3
4
5
6
FILE *fp;
if ((fp = fopen("test.txt","r")) == NULL)
{
       printf ("невозможно открыть файл\n");
       exit(1);
}
0
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 153
09.04.2010, 20:17  [ТС] 3
У меня похоже открывает тэкстешный файл но почему то не показывает его содержимое. Ставлю вместо r, w чистится. А мне нужно что бы он читал. В чем причина
0
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
09.04.2010, 20:29 4
w - значит write, т. е. запись, поэтому он очищает файл)))
еще есть одна очень удобная функция: ReadFile почитай в мсдн...
я работал с нею, написал с ее помощью шифратор)
З.Ы. только там нужно будет с помощью CreateFile получить хэндл файла
0
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 153
09.04.2010, 20:39  [ТС] 5
Он его видит но при запуске не показывает содержимое стоит буква r
0
Эксперт С++
2330 / 1703 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
09.04.2010, 20:42 6
Leshiy1, может код приведешь, и не будем ходить вокруг да около?
0
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 153
09.04.2010, 20:44  [ТС] 7
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
void main(void)
{  char null;
printf("\n\ Spisok studentov\n");
FILE*f;
char*file_name="Students.txt";
char*load_string="D:\\Students.txt";
f=fopen("D:\\Students.txt","r");
if((f=fopen("D:\\Students.txt","r"))==NULL)
{printf(""); exit(1);} fprintf(f,"%c");
fclose(f);
getchar();
clrscr();
}
0
Эксперт С++
2330 / 1703 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
09.04.2010, 20:47 8
Leshiy1, fprintf выводит данные в файл.
Данные надо сначала считать (с помощью fscanf) а потом показать.
0
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 153
09.04.2010, 20:50  [ТС] 9
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
void main(void)
{  char null;
printf("\n\ Spisok studentov\n");
FILE*f;
char*file_name="Students.txt";
char*load_string="D:\\Students.txt";
f=fopen("D:\\Students.txt","r");
if((f=fopen("D:\\Students.txt","r"))==NULL)
{printf(""); exit(1);} fscanf(f,"%c");  fprintf(f,"%c");
fclose(f);
getchar();
clrscr();
}
Вот все равно не показывает
0
Эксперт С++
2330 / 1703 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
09.04.2010, 20:55 10
Leshiy1, fscanf(f,"%c"); куда по твоему данные то запишет?
fprintf(f,"%c"); какие данные то выводить будет? Да и за чем здесь fprintf для вывода на консоль нужно использовать printf?
0
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 153
09.04.2010, 21:13  [ТС] 11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
void main(void)
{  char null;
printf("\n\ Spisok studentov\n");
FILE*f;
char*file_name="Students.txt";
char*load_string="D:\\Students.txt";
f=fopen("D:\\Students.txt","r");
if((f=fopen("D:\\Students.txt","r"))==NULL)
{printf(""); exit(1);}
scanf("%c",f);
printf("%c",f);
fclose(f);
getchar();
clrscr();
}
Добавлено через 4 минуты
не читает
0
ggmann
09.04.2010, 22:20
  #12

Не по теме:

использу плз выдиление кода когда создаеш сообщение, ато глаза вылазят от таких тектов

0
Эксперт С++
2330 / 1703 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
09.04.2010, 22:24 13
Leshiy1, покажет содержание файла file_name.txt
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <string>
 
int main() {
  std::istream file("file_name.txt");
 
  while (file) {
    std::string str;
    std::getline(file, str);
    std::cout << str;
  }
 
  return 0;
}
0
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 153
10.04.2010, 00:33  [ТС] 14
Я программирую в C а не С++(я изучаю C 2 дня) наверное не пойдет такой код
0
Эксперт С++
2330 / 1703 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
10.04.2010, 00:46 15
Leshiy1, попробуй так:
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main() {
  FILE* file = fopen("input.txt", "r");
  char  ch;
 
  while ((ch = fgetc(file)) != EOF)
    printf("%c", ch);
 
  return 0;
}
0
0 / 0 / 0
Регистрация: 03.04.2010
Сообщений: 153
10.04.2010, 01:10  [ТС] 16
Ай спасибо добрый человек, помог, теперь работает как надо
0
Ответ Создать тему
Опции темы

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