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

Текст из TXT файла в строку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чьотов Чар http://www.cyberforum.ru/cpp-beginners/thread980058.html
#include <iostream> #include <Windows.h> #include <string.h> using namespace std; int main() { WIN32_FIND_DATAA findData; string file_name; cout << "Введите имя файла или q для выхода" << endl;
C++ Инкремент при обращении (н-р к массиву) int _id_; char _string_; _string_ // Изменится ли в этом случаее _id_ или это не повлеяет на начего? http://www.cyberforum.ru/cpp-beginners/thread980055.html
C++ Хочу написать программу-калькулятор под ,допустим,игру
Хочу написать калькулятор характеристик для персонажей в игре,писать буду на с++,vs10. Помогите начинающему,как сделать что бы можно было настроить окно программы ,точнее даже где и как:)
C++ Случайные числа
int main() { srand(time(0)); int a = rand()%100; cout << a << endl; system("pause"); } Есть вот такой способ задания случайных чисел от 0 до 100, но вот что меня смутило, каждый раз числа создаются либо +7 от предыдущего, либо +3, либо +10... И всегда по возрастанию, пока не дойдет до 100. А есть ли еще способы создания генератора, без использования времени? В PHP вроде так
C++ Табулирование функции. http://www.cyberforum.ru/cpp-beginners/thread980007.html
Нужна ваша помощь в решении данной задачи,буду благодарен кто откликнется и поможет решить Перепечатывайте задание на форум.
C++ Builder Метод деления пополам и касательных В общем то нужно сделать комбинированный метод из касательных и деления пополам ( чтобы этот метод был "выгодным"). Но увы у меня получается только равным по выгоде методу деления пополам, хотя мб и где-то накосячил. Подскажите что не так, буду благодарен. Долго уже вожусь никак не могу получить профит. Пришел за помощью к опытным людям :) void __fastcall TForm1::Button3Click(TObject *Sender)... подробнее

Показать сообщение отдельно
homme
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 4
17.10.2013, 18:31  [ТС]     Текст из TXT файла в строку
Folko, MrGluck, спасибо!
MrGluck, прошу прощения за глупый вопрос, а зачем используется std:: ?

Была поставлена задача удалить последнюю букву каждого слова в строке. Данные в строку заносились из текстового файла.
Ниже прикладываю код программы, который у меня получился.
Программа работает, но не удаляет САМЫЙ последний символ (str[dl]), где dl - длина строки, если же этот символ является буквой. Если является точкой, запятой и т.д. - все нормально, символ стоящий перед ним удаляется (последняя буква в слове).

Собственно, теперь задача как-то удалить этот символ (в предположении что строка заканчивается им).
Пробовал сделать это следующей строкой:
C++
1
2
dl=str.length(); // узнаем новую длину строки
if (!(str[dl]==' ') || !(str[dl]=='.') ||  !(str[dl]==',') ||  !(str[dl]=='!') ||  !(str[dl]=='?') ||  !(str[dl]=='/') || !(str[dl]=='\n')) str.erase(dl-1,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 <iostream>
#include <string>
#include <cstring>
#include <fstream>
 
using namespace std;
 
int main()
{
string str;
int dl,dl1,i;
ifstream vvod("input.txt");
while (!vvod.eof()) str+=vvod.get();
vvod.close();
cout << "V faile input.txt nahoditsya text: \n" << str << endl;
dl=str.length();
cout << "Dlina stroki: " << dl << endl;
for (i=0;i<dl;++i)
{
    if ((str[i]==' ') || (str[i]=='.') ||  (str[i]==',') ||  (str[i]=='!') ||  (str[i]=='?') ||  (str[i]=='/')) str.erase(i-1,1);
}
cout << "Stroka s udalennimu bukvami = " << str << endl;
dl1=str.length();
cout << "Dlina stroki s udalennimi bukvami = " << dl1 << endl;
return 0;
}
 
Текущее время: 23:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru