0 / 0 / 0
Регистрация: 29.10.2014
Сообщений: 33
1

Как закрыть строку символов, чтобы не было в ней лишнего?

07.11.2014, 13:13. Показов 2259. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Еще раз всем здравствуйте. Помогите, плз.
Пока пытаюсь отладить часть программы где пользователь задает путь и имя файл с которым будем работать ( м.б. на русском и английском) и машина исходя из него путем присоединения к имени файла ...SORT.txt создает новый путь к файлу в той же папке но с другим именем, содержащий результат сортировки исходного.

Задаем D:\Решетова_Н\Галкин\Всякое\piks.txt
Выводит на экран D:\Решетова_Н\Галкин\Всякое\piksSORT.txtMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD:\Решетов а_Н\Галкин\Всякое\piks.txt
т.е. вроде бы и заполняет новый путь, но остальную часть строки пишет всяким разным. Как исправить?

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstddef>
#include<locale.h> 
#include <windows.h>
#include <string>
#include <cstring>
using namespace std;
void main()
{
   
setlocale(LC_ALL,"Russian");//Русификация
ifstream f;                //Объявляем поток чтения из файла
ofstream f1;             //Объявляем поток записи в файл
char str[100];            //Строковая переменная (для пути к исходному файлу)
char str1[100];            //Строковая переменная (для пути к готовому файлу)
string s;                     // слово в строке сортируемого файла
 
 
 
setlocale(LC_ALL,"Russian");//Русификация
//Объявляем переменные   
ifstream f;//Объявляем поток чтения из файла
ofstream f1;//Объявляем поток записи в файл
char str[100];//Строковая переменная (для пути к исходному файлу)
char str1[100];//Строковая переменная (для пути к готовому файлу)
double massiv_str[9]; // Массив, содержащий код и значения очередной строки в сортируемом файле  
string s;// слово в строке сортируемого файла
 
 
cout<<"\n Введите путь и имя файла для сортировки в виде D:\\имя папки\\имя файла.txt: \n";
SetConsoleCP(1251);
cin>>str;
SetConsoleCP(866);
 
 
//определяем имя и путь к готовому файлу, он будет лежать там же где исходник, но с именем...SORT.txt
int j=0;
 
while (str[j]!='.') 
{
    str1[j]=str[j];
    //OemToCharA(str1, str1);
    j++;
}
str1[j]='S';
j++;
str1[j]='O';
j++;
str1[j]='R';
j++;
str1[j]='T';
j++;
str1[j]='.';
j++;
str1[j]='t';
j++;
str1[j]='x';
j++;
str1[j]='t';
 
 
cout <<str1<<endl;                  ........
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2014, 13:13
Ответы с готовыми решениями:

Как сделать, чтобы popup можно было закрыть на мобильных устройствах?
- как сделать, чтоб попап можно было закрыть на мобильных устройствах &lt;script&gt; if...

Как сделать, чтобы форму невозможно было закрыть нажатием на крестик?
Помогите пожалуйста! Как сделать, чтобы форму не возможно было закрыть нажатием на крестик????...

Как сделать так, чтобы можно было закрыть только текущую Форму?
Доброго времени суток. Я использую Windows Forms и язык C# для написания не большого проекта....

Как можно развернуть консольное окно и чтобы его было невозможно закрыть?
Всем привет! Как можно развернуть окно и чтобы его было невозможно закрыть? Закрытие производится...

5
Модератор
Эксперт С++
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,700
07.11.2014, 13:19 2
Строка должна заканчиваться числом ноль.
C++
1
j++;str1[j]=0;
0
0 / 0 / 0
Регистрация: 29.10.2014
Сообщений: 33
07.11.2014, 13:24  [ТС] 3
Точно, все именно так! СПАСИБО!
0
37 / 37 / 25
Регистрация: 30.10.2013
Сообщений: 211
07.11.2014, 13:34 4
Natalia_R, так же можно написать
C++
1
char str1[100]={NULL};
Добавлено через 2 минуты
Natalia_R, и если у Вас в пути будут содержаться пробелы, то Ваша прога не будет работать, для того чтоб работало и с пробелами в пути нужно использовать cin.getline вместо обычного cin
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
07.11.2014, 13:41 5
Цитата Сообщение от Natalia_R Посмотреть сообщение
str1[j]='S';
j++;
str1[j]='O';
j++;
str1[j]='R';
j++;
str1[j]='T';
j++;
str1[j]='.';
j++;
str1[j]='t';
j++;
str1[j]='x';
j++;
str1[j]='t';
А так нельзя
C++
1
strcpy(str1+j, "SORT.txt");
0
37 / 37 / 25
Регистрация: 30.10.2013
Сообщений: 211
07.11.2014, 13:49 6
Kerry_Jr, прав, но может понадобиться определить макро
C++
1
#define _CRT_SECURE_NO_WARNINGS
0
07.11.2014, 13:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2014, 13:49
Помогаю со студенческими работами здесь

Как сделать такую кнопку, чтобы на ней было два поля для ввода чисел и букв?
Как сделать такую кнопку, чтобы на ней было два поля для ввода чисел и букв?

Как загрузить свою базу 1С Предприятия в интернет, чтобы можно было с любого ПК зайти на сайт и работать с ней?
Ребят, всем привет! Вопрос, как мне загрузить свою базу 1С Предприятия в инет, чтобы можно было с...

Вывести файл на экран, чтобы в каждой строке было не больше 40 символов, и количество строк было минимальным
Дано файл f. Вывести этот файл на экран так что бы в каждой строчке было не больше, чем 40 символов...

Можно как-то объявить переменную, чтобы к ней можно было обратиться с любой из форм?
У меня такой вопрос) Пишу курсовую работу, состоит из 3 форм, есть пару переменных, которые нужно...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru