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

Запись в файл - C++

Восстановить пароль Регистрация
 
Deadpool2
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 7
18.05.2013, 19:51     Запись в файл #1
Пытаюсь создать файл с именем, вводимым пользователем, и записать в него какие-то данные. Однако записываются только символы до пробела, помогите исправить, пожалуйста.
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
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <string.h>
 
void main()
{
 FILE*f;
 char s[20],x[126];
 int i;
 clrscr();
 
 memset(x,0,126);
 cout<<"Enter file's name:\n";
 cin>>s;
 f=fopen(s,"w+t");
 
 cout<<"Enter file's content:\n";
 cin>>x;
 for (i=0;i<strlen(x);i++)
  {
   fprintf(f,"%c",x[i]);
  }
 
 getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2013, 19:51     Запись в файл
Посмотрите здесь:

C++ запись в файл
C++ Запись в файл
запись в файл C++
C++ Запись в файл
C++ Запись в файл
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
18.05.2013, 21:10     Запись в файл #2
Deadpool2,

C++
1
cin.getline(x, 126);
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
18.05.2013, 21:20     Запись в файл #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <fstream> 
#include <iostream>
 
using namespace std;
int main(void) 
 
 { 
    string name;
    cin>>name;
    ofstream book_file("name"); 
    book_file << "qq"<< endl; 
    book_file.close();
 }
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
18.05.2013, 21:25     Запись в файл #4
NeonLost, а если я введи "lkdf kfdgjfdkl kldfgfd"?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.05.2013, 21:33     Запись в файл #5
cin >> читает до пробельного символа (так же, как и scanf). Если нужно считать строку, то нужно использовать функции (или методы) строкового ввода: gets(), getline(), get(). Лучше использовать или С, или С++. Тут - смесь.
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
18.05.2013, 21:33     Запись в файл #6
Цитата Сообщение от yoghurt92 Посмотреть сообщение
NeonLost, а если я введи "lkdf kfdgjfdkl kldfgfd"?
а если я введу больше 20 символов?..да и плюсом изменю адрес возврата в регистре eip и вызову прерывание ядра?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <fstream> 
#include <iostream>
#include <string>
using namespace std;
int main(void) 
 
 { 
    string name;
    getline(cin,name);
    cout<<name;
    ofstream book_file(name); 
    book_file << "qq"<< endl; 
    book_file.close();
 }
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
18.05.2013, 21:36     Запись в файл #7
NeonLost, я показал что ваш код так же запишет символу до первого пробела, читайте что пишет ТС.
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
18.05.2013, 21:38     Запись в файл #8
Цитата Сообщение от yoghurt92 Посмотреть сообщение
NeonLost, я показал что ваш код так же запишет символу до первого пробела, читайте что пишет ТС.
я ему хотел сказать, что у него шляпа а не код...(
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
18.05.2013, 21:42     Запись в файл #9
NeonLost, вы тоже когда-то учились, будьте снисходительны к новичкам.
NeonLost
Пес войны
 Аватар для NeonLost
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
18.05.2013, 21:45     Запись в файл #10
Цитата Сообщение от yoghurt92 Посмотреть сообщение
NeonLost, вы тоже когда-то учились, будьте снисходительны к новичкам.
благо у меня не было момента мешанины С/С++...)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2013, 23:53     Запись в файл
Еще ссылки по теме:

запись в файл. не создается файл C++
C++ Запись в файл
C++ запись в файл

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

Или воспользуйтесь поиском по форуму:
Deadpool2
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 7
18.05.2013, 23:53  [ТС]     Запись в файл #11
Забыл важное уточнение: C++ for DOS.
Yandex
Объявления
18.05.2013, 23:53     Запись в файл
Ответ Создать тему
Опции темы

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