Четверг, 02 Мая 2024, 18:29

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » ввод,запись и чтение данных (в чем проблемма?)
ввод,запись и чтение данных
death_marozДата: Четверг, 19 Мая 2011, 23:51 | Сообщение # 1
был не раз
Сейчас нет на сайте
здравствуйте!
нужно организовать ввод строчных данных, запись в файл и чтение из него.
вот что у меня получилось:
ввод и запись в файл -
Code
      char login
       ,n;  
        
      cout<<"Ваше имя...\n";
      cin>>login;  
        
       FILE * fo;
         fo = fopen("save.txt","r+");
       if(!fo)
        {
           cout<<"Ошибка открытия файла\n\n";
         fo = fopen("save.txt","a+");         
        }
        else {
             fprintf( fo, "%d\n", login );   
             fclose(fo);
         };

чтение -
Code
         FILE * fi;  
          fi = fopen("save.txt","rt"); // rt означает открытие текстового файла на чтение  
             while( !feof(fi) ) {  
              fscanf( fi, "%d", &n );  
           cout<<n<<"\n";
               }  
                fclose(fi);

в принципе получилось , но если ввести не 1 , а 2+ символа не работает sad


[img]http://nick-name.ru/forum1t....mg]
nilremДата: Пятница, 20 Мая 2011, 00:27 | Сообщение # 2
Просветленный разум
Сейчас нет на сайте
Quote (death_maroz)
но если ввести не 1 , а 2+ символа не работает

Что означает запись char login?


Windmill 2

WindMill 2D Game Engine
death_marozДата: Пятница, 20 Мая 2011, 00:40 | Сообщение # 3
был не раз
Сейчас нет на сайте
nilrem, cимвольный тип..тьфу блин wacko все,я понял свою ошибку(
а каким образом сделать ввод несколько символов?


[img]http://nick-name.ru/forum1t....mg]

Сообщение отредактировал death_maroz - Пятница, 20 Мая 2011, 00:52
KamskiiДата: Пятница, 20 Мая 2011, 08:55 | Сообщение # 4
Game ≠ Toy
Сейчас нет на сайте
Quote (death_maroz)
а каким образом сделать ввод несколько символов?

Использовать класс string или представить переменную login как массив char'ов.
death_marozДата: Пятница, 20 Мая 2011, 19:04 | Сообщение # 5
был не раз
Сейчас нет на сайте
Kamskii, можете дать пример??у меня что то не получилось..

[img]http://nick-name.ru/forum1t....mg]
VinchensooДата: Пятница, 20 Мая 2011, 19:06 | Сообщение # 6
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Quote (death_maroz)
Kamskii, можете дать пример??у меня что то не получилось..

Code

char login[200];
printf("Print you login");
scanf("%s",login);
printf("PROFIT");

Запишет введеную строку в массив символов login


death_marozДата: Суббота, 21 Мая 2011, 00:38 | Сообщение # 7
был не раз
Сейчас нет на сайте
Vinchensoo, спасибо большое,работает..

Добавлено (21.05.2011, 00:38)
---------------------------------------------
у меня один еще вопрос появился: можно ли создать директорию с именем login , если да, то каким образом сделать?


[img]http://nick-name.ru/forum1t....mg]
KamskiiДата: Суббота, 21 Мая 2011, 06:22 | Сообщение # 8
Game ≠ Toy
Сейчас нет на сайте
Code

#include <windows.h>
...
if (CreateDirectory("c:\\login",NULL))
cout << "Success!" << endl;
else
cout << "Error!" << endl;

Вот так как-то.
death_marozДата: Суббота, 21 Мая 2011, 11:42 | Сообщение # 9
был не раз
Сейчас нет на сайте
Kamskii, в данном случае login - массив символов вводимый игроком во время игры.

Добавлено (21.05.2011, 11:42)
---------------------------------------------
спасибо разобрался,работает..
Kamskii, извините за настырность, но как сделать создание и открытие файла по пути

Code
game(папка с игрой)\saves(папка с сохранениями)\login(login - вводит игрок)\save.txt


[img]http://nick-name.ru/forum1t....mg]
KamskiiДата: Суббота, 21 Мая 2011, 12:08 | Сообщение # 10
Game ≠ Toy
Сейчас нет на сайте
Code

fo = fopen("C:\\game\saves\"+login+"\save.txt","r+");  

Если у тебя в коде, то так. В предыдущем примере login - это директория.
nilremДата: Суббота, 21 Мая 2011, 12:53 | Сообщение # 11
Просветленный разум
Сейчас нет на сайте
Quote (Kamskii)
fo = fopen("C:\\game\saves\"+login+"\save.txt","r+");

Так работать не будет.
Складывать чар-строки нужно с помощью strcat.


Windmill 2

WindMill 2D Game Engine
KamskiiДата: Суббота, 21 Мая 2011, 14:03 | Сообщение # 12
Game ≠ Toy
Сейчас нет на сайте
Quote (nilrem)
Складывать чар-строки нужно с помощью strcat.

Извиняюсь, ошибся.
death_marozДата: Суббота, 21 Мая 2011, 15:46 | Сообщение # 13
был не раз
Сейчас нет на сайте
спасибо всем,разобрался..

[img]http://nick-name.ru/forum1t....mg]
Форум игроделов » Программирование » C/C++ » ввод,запись и чтение данных (в чем проблемма?)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг