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

string -> char[] сбой компиляции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить длину бинарного (или произвольного) дерева http://www.cyberforum.ru/cpp-beginners/thread845802.html
Определите длину бинарного(или произвольного) дерева (т.е. длину максимальной ветви) Visual studio c++, консольный режим. Можно пожаласт с коментариями... спасибку тыкну)) Добавлено через 19 часов 26 минут хелп плс, скоро сдавать
C++ Решение системы линейных уравнений методом Гаусса необходимо решить данную задачу в visual studio c++, если можно с комментариями, в консольном режиме Реализуйте функцию решения системы линейных уравнений методом Гаусса. Параметрами функции должны быть: матрица, ее раз-мерность, вектор правой части системы, вектор решения. Возвращаемое значение: 0 - система решена, -1 - матрица системы вырождена. Про-тестируйте работу функции на системе с... http://www.cyberforum.ru/cpp-beginners/thread845800.html
C++ Дописать к классу Fraction конструктор по умолчанию
кто может дописать к классу конструктор по умолчанию, с параметрами, копирования и деструктор #include <cstdlib> #include <iostream> #include <exception> using namespace std; class Fraction { public: Fraction(); Fraction(int);
C++ Линии в таблице, анимация
Добрый вечер! товарищи, помогите заменить значки | на неприрывные линии в программе... #include <conio.h> #include <stdio.h> #include <math.h> int q, n=0; int f1() {
C++ Создание стека структур http://www.cyberforum.ru/cpp-beginners/thread845733.html
Как мне объявить стек структур с помощью <stack> ? Я создал структуру и хотел сделать стек таких структур, но почему-то у меня не получается =( Взгляните сами: #include <iostream> #include <stack> using namespace std; const int N=100; struct Football
C++ Создание бинарного дерева и поиск в нем минимального элемента При дебагге код я пришел к тому что создание бинарного дерева не работает. Что не верно? //создание бинарного дерева void Make_Binary_Tree(BinaryTree** Node, int n) { BinaryTree** ptr;//вспомогательный указатель srand(time(NULL)*1000); if (n > 0) { подробнее

Показать сообщение отдельно
StupidTrue
46 / 1 / 0
Регистрация: 06.11.2010
Сообщений: 85
23.04.2013, 06:27  [ТС]     string -> char[] сбой компиляции
Цитата Сообщение от Croessmah Посмотреть сообщение
Скопировать можно так:
C++
1
strcpy(NDB,stroka.c_str());
Спасибо, а как копировать string в начало или средину массива?? У меня другие цели, если я вас правильно понял.
у меня была задача:
Составить программу для формирования записей о наземных РНС УКВ диапазона NDB класса по стандарту ARINC 424.
причем
Запись о VOR/DME Boryspil’ имеет вид:
SEEUD□UKBBUK□BRP□□□UK011590VD□□□N50170900E030540300BRP□N50170900E030540300E0060001290□□□□□WGEBoryspil’□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□ – пробел

я решил ее так:
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
#include <cstdlib>
#include <iostream>
#include <string> 
#include <fstream>
 
using namespace std; 
int main(int argc, char *argv[])
{   
    
 
setlocale(LC_ALL, "Russian");
string Record_Type ="S";  
string Area_Code = "EEU";
string Section_Code ="D";
string Airport_ICAO_Identifier="UKBB";
string ICAO_Code = "UK";
string Blank1= " ";
string NDB_Identifier = "BO";
string Blank2= "  ";
string Continuation_Record_No="0";
string NDB_Frequency = "12900";
string NAVAID_Class  = "N";
string NDB_Latitude ="N50374300";
string NDB_Longitude  = "E030532200";
string NDB_Elevation = "1200";
string NUL="0";
string Figure_of_Merit="0";
string ILSDME_Bias_and_Frequency_Protection="     ";
 
 
cout<<"Введите Datum Code (Код глобальной системы координат)";
string Datum_Code;
cin>>Datum_Code;
if(Datum_Code=="WGS-84"){
Datum_Code="WGE";
}
cout<<endl; 
string NDB_Name="Bohdanivka";
string File_Record_No_and_Cycle_Date="         ";
 
char NDB[132];
    // вставляем в начало "stroka"
    for (int i=0;i<Record_Type.size(); ++i){
        NDB[i]=Record_Type[i];    
    }
    
     for (int i=0; i<Area_Code.size();i++){
        NDB[Record_Type.size()+i]=Area_Code[i];    
    }
    for (int i=0; i<Section_Code.size();i++){
        NDB[Area_Code.size()+Record_Type.size()+i]=Section_Code[i];    
    }
    for (int i=0; i<Airport_ICAO_Identifier.size();i++){
        NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+i]=Airport_ICAO_Identifier[i];    
    }
    
    for (int i=0; i<ICAO_Code.size();i++){
        NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+i]=ICAO_Code[i];    
    }
     for (int i=0; i<Blank1.size();i++){
        NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+i]=Blank1[i];
    }
  
// NDB_Identifier
  if (NDB_Identifier.size()==4){
      for (int i=0; i<NDB_Identifier.size();i++){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+Blank1.size()+i]=NDB_Identifier[i];
      }
  }
  
  if (NDB_Identifier.size()<4){                            
      for (int i=0; i<NDB_Identifier.size();i++){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+Blank1.size()+i]=NDB_Identifier[i];    
      }  
      for (int i=0; i<4-NDB_Identifier.size(); ++i){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+Blank1.size()+NDB_Identifier.size()+i]=Blank1[0];
      }                    
  }
// NDB_Identifier
  
    for (int i=0; i<Blank2.size();i++){
        NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+i]=Blank2[i];
    }
    
    for (int i=0; i<ICAO_Code.size();i++){
        NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+i]=ICAO_Code[i];
    }
    
    
NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()]=Continuation_Record_No[0];
 
for (int i=0; i<NDB_Frequency.size();i++){
    NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+i]=NDB_Frequency[i];
}
 
 
// NAVAID_Class
  if (NAVAID_Class.size()==5){
      for (int i=0; i<NAVAID_Class.size();i++){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+NDB_Frequency.size()+i]=NAVAID_Class[i];
      }
  }
  
  if (NAVAID_Class.size()<5){                            
      for (int i=0; i<NAVAID_Class.size();i++){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+NDB_Frequency.size()+i]=NAVAID_Class[i];    
      }  
      for (int i=0; i<5-NAVAID_Class.size(); ++i){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+NDB_Frequency.size()+NAVAID_Class.size()+i]=Blank1[0];
      }                    
  }
// NAVAID_Class  
 
 
for (int i=0; i<NDB_Latitude.size();i++){
         NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+NDB_Frequency.size()+5+i]=NDB_Latitude[i];    
}  
 
for (int i=0; i<NDB_Longitude.size();i++){
NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+NDB_Frequency.size()+5+NDB_Latitude.size()+i]=NDB_Longitude[i];    
} 
for (int i=0; i<28;i++){
NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+NDB_Frequency.size()+5+NDB_Latitude.size()+NDB_Longitude.size()+i]=Blank1[0];
}
     
// NDB_Elevation
  if (NDB_Elevation.size()==5){
      for (int i=0; i<NAVAID_Class.size();i++){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+i]=NDB_Elevation[i];
      }
  }
  
  if (NDB_Elevation.size()<5){ 
       for (int i=0; i<5-NDB_Elevation.size(); ++i){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+i]=NUL[0];
      }                              
      for (int i=0; i<NDB_Elevation.size();i++){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+(5-NDB_Elevation.size())+i]=NDB_Elevation[i];    
      }  
                      
  }
// NDB_Elevation  
 
NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+5]=Figure_of_Merit[0];    
 
for (int i=0; i<ILSDME_Bias_and_Frequency_Protection.size();i++){
    NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+5+1+i]=ILSDME_Bias_and_Frequency_Protection[i];    
}      
 
 
for (int i=0; i<Datum_Code.size();i++){
    NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+5+1+ILSDME_Bias_and_Frequency_Protection.size()+i]=Datum_Code[i];    
}      
    
    
     
// NDB_Name
  if (NDB_Name.size()==30){
      for (int i=0; i<NDB_Identifier.size();i++){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+5+1+ILSDME_Bias_and_Frequency_Protection.size()+i]=NDB_Name[i];
      }
  }
  
  if (NDB_Name.size()<30){                            
      for (int i=0; i<NDB_Name.size();i++){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+5+1+ILSDME_Bias_and_Frequency_Protection.size()+Datum_Code.size()+i]=NDB_Name[i];    
      }  
      for (int i=0; i<30-NDB_Name.size(); ++i){
          NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+5+1+ILSDME_Bias_and_Frequency_Protection.size()+Datum_Code.size()+NDB_Name.size()+i]=Blank1[0];
      }                    
  }
// NDB_Name
for (int i=0; i<9; ++i){
         NDB[Area_Code.size()+Record_Type.size()+Section_Code.size()+Airport_ICAO_Identifier.size()+ICAO_Code.size()+5+Blank2.size()+ICAO_Code.size()+Continuation_Record_No.size()+5+NDB_Frequency.size()+NDB_Latitude.size()+NDB_Longitude.size()+28+5+1+ILSDME_Bias_and_Frequency_Protection.size()+Datum_Code.size()+30+i]=Blank1[0];
}     
 
    // вывод
    for (int i=0; i<132; ++i){
        cout<<NDB[i];
    }
    cout<<endl;
    
// запись в results.txt файл
ofstream os("results.txt");
for (int i=0; i<132; i++)
    {
        os<<NDB[i];
    }
os.close();
cout<<endl;   
cout<<"Данные были успешно записаны в results.txt"<<endl;        
        
        
    system("PAUSE");
    return EXIT_SUCCESS;
}
результат:
SEEUDUKBBUK BO UK012900N N50374300E030532200 012000 WGEBohdanivka
Миниатюры
string -> char[]  сбой компиляции   string -> char[]  сбой компиляции  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru