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

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

Войти
Регистрация
Восстановить пароль
 
VaGa
5 / 0 / 1
Регистрация: 14.08.2012
Сообщений: 28
#1

Как вписать в переменную текст, размер которой превышает 4096 байтов - C++

16.08.2012, 22:51. Просмотров 690. Ответов 5
Метки нет (Все метки)

написал скрипт , который сохрянает введенный текст в файл . и я смотрю , кайдый файл 4096 байтов . как решить проблему ?
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
main()
{
FILE * fo;
fo = fopen("D:\\vagaa\\pop.txt","wt");
char text[1024];
cin.getline(text, 1024);
 
int i = 0;
while(i<text[i]){
fprintf(fo , "%c", text[i]);
i++;
}
fclose(fo);    
system("start d:\\vagaa\\pop.txt");  
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2012, 22:51     Как вписать в переменную текст, размер которой превышает 4096 байтов
Посмотрите здесь:

Как описать переменную в классе, тип которой заранее неизвестен? - C++
Есть класс , в кот куча всяких методов, все работает, все хорошо. Но есть одно большле НО, у объектов порожденным этим классом заранее...

Как описать шаблонную переменную в классе, тип которой заранее неизвестен ? - C++
В классе имеется поле с данными. Мне нужно, чтобы эти данные были типа vector или типа forward_list в зависимости от ситуации. Как это...

Задать размер динамического массива через переменную, обявленную как extern - C++
Привет народ, скажите, почему не компилирует: #include&quot;stdafx.h&quot; #include&quot;iostream&quot; using namespace std; extern const int y; int...

Как вывести на экран переменную из функции, которой присваиваеться значение через указатель? - C++
Только начал изучать С++. И не могу понять, как вывести на экран переменную pdLocalVar из функции child(), которой присваивается значение в...

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

Как в переменную записать текст, а затем в конце добавить значение переменной? - C++
Как в переменную записать текст, а затем в конце добавить значение переменной? Как ни пробовал, компилятор (Dev C++) всегда выдает...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
17.08.2012, 00:35     Как вписать в переменную текст, размер которой превышает 4096 байтов #2
это очень странный механизм записи в файл. у тебя счетчик сравнивается с числовым значением элемента массива.
т.е. сцифрой означающей номер символа в символьной таблице.

т.е. например из 1024 введенных цифр 1 запишутся толькопервые 49 элементов, потому что '1' == 49, а если например ввести русские буквы значение символа которых отрицательно, то не запишется вообще ничего. думаю тебе стоит подумать над механизмом записи массива в файл. ну а уж потом выставить на суд проблему там..с размером..
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
17.08.2012, 01:32     Как вписать в переменную текст, размер которой превышает 4096 байтов #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
main()
{
FILE * fo;
fo = fopen("D:\\vagaa\\pop.txt","wt");
char text[1024];
cin.getline(text, 1024);
fprintf(fo , "%s", text);
}
fclose(fo);    
system("start d:\\vagaa\\pop.txt");  
}
Тогда уж так пусть будет если хотите fopen
VaGa
5 / 0 / 1
Регистрация: 14.08.2012
Сообщений: 28
17.08.2012, 13:48  [ТС]     Как вписать в переменную текст, размер которой превышает 4096 байтов #4
Цитата Сообщение от Pure Посмотреть сообщение
это очень странный механизм записи в файл. у тебя счетчик сравнивается с числовым значением элемента массива.
т.е. сцифрой означающей номер символа в символьной таблице.
ehto mne posovetoval odin tovarishh , i rabotaet tak . no delo ne v schetchike , a v peremennoj . kak v nego pomestit' tekst ? nu ja znaju , stranno kak ja pishu takie skripty , no ja novichok , i mne nravistja vse delat' kak ponimaju , ne ljublju tupo kopirovat'
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
17.08.2012, 14:31     Как вписать в переменную текст, размер которой превышает 4096 байтов #5
Цитата Сообщение от VaGa Посмотреть сообщение
как вписать в переменную текст , размер которой превышает 4096 байтов
Если я не ошибаюсь, Но в с++ размер строки неограничен. В строку можно записать более 4096 символов и ничего страшного не должно произойти
C++
1
2
char text[5000];
cin.getline(text, 5000);
Добавлено через 13 минут
Сейчас проверил и получается что с клавиатуры можно ввести не больше 4094 символа.

Добавлено через 19 минут
В переменную можно записать текст любой длины вот таким способом:
1. Сначала скопировать в нее какую-нибудь строку strcpy(str, "Строка 1");
2. А потом добавить к этой строке другую строку strcat(str, "Строка 2");
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2012, 14:38     Как вписать в переменную текст, размер которой превышает 4096 байтов
Еще ссылки по теме:

Открыть бинарный файл(.ехе) и сохранить часть байтов в текст - C++
Всем привет. Задача такая: нужно прочитать .exe. в конце его есть некие спецсимволы, которые мне нужно прочитать. Например они...

Ошибка при выведении функции класса, в которой нужно вводить переменную - C++
Добрый день! написал простенькую программу, в которой есть ошибка. Объясните , пожалуйста какая в функции ошибка. #include&lt;iostream&gt;...

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

Преобразовать полученный текст в набор строк, каждая из которых содержит целое количество слов и ее длинна не превышает 40 символов - C++
Преобразовать полученный текст в набор строк, каждая из которых содержит целое количество слов (слово должно целиком находиться в...

Выровнять статический массив на границу 4096 байт - C++
Мне нужно выровнять статический массив на границу 4096 байт. class paging { static PDE PageCatalog; //... };

считать текст в переменную; - C++
Народ помогите плиз как считать предложение в строковую переменную в с++.. например: #include &lt;iostream&gt; #include &lt;string&gt; int...


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

Или воспользуйтесь поиском по форуму:
Pure
228 / 49 / 2
Регистрация: 13.03.2012
Сообщений: 453
Записей в блоге: 7
17.08.2012, 14:38     Как вписать в переменную текст, размер которой превышает 4096 байтов #6
Цитата Сообщение от VaGa Посмотреть сообщение
ehto mne posovetoval odin tovarishh , i rabotaet tak
скорее даже так. счетчик имеет тип int, т.е. целое со знаком и сравнивается с типом char элементом массива. ввиду этого происходит приведение char к более "широкому" типу int вот и получается что если ввести "ЯЯЯЯЯЯЯЯЯ" в твою программу то на первом же сравнении while(i < text[i])
while (0<-81) цикл завершится и ничего записано не будет. проверь.....
Yandex
Объявления
17.08.2012, 14:38     Как вписать в переменную текст, размер которой превышает 4096 байтов
Ответ Создать тему
Опции темы

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