Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
#1

Перевести массив char в переменную string - C++

25.03.2012, 10:46. Просмотров 1654. Ответов 12
Метки нет (Все метки)

Помогите перевести массив char в переменную string
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 10:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевести массив char в переменную string (C++):

Как преобразовать переменную string в массив char[]? - C++
Есть переменная string и массив char как записать переменную типа string в такой массив ? String X="test"; char Mass; ...

Как преобразовать char* в string и вывести переменную string на экран? - C++
for (int k = 0; k < 10; k++) { int x = (int)rand() / RAND_MAX + rand() % 6 + 2; char *chars = new char; ...

есть массив char. есть строка string. как присвоить значению string-a значение char-a? - C++
есть массив char. есть строка string. как присвоить значению string-a значение char-a?

Как перевести string в char* ? - C++
Проблема с приведением этих типов. Заголовочный файл string подключен. Пробовал приводить ко многим типам, в том числе: char*, char, const...

Как перевести string в char? - C++
В общем есть получение пути до файла из командной строки. Выглядит например так: C\324324\dedded\dddd.txt char sentence; ...

Как перевести из float -> char[](string)??? - C++
Как преобразовать дробь типа float 0.625 в строку (массив символов). Не используя библиотечные функции, (кроме iostrean.h и iomanip.h)

12
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,046
Записей в блоге: 17
25.03.2012, 12:48 #2
C++
1
2
3
4
char ch[]= "char";
std::string str;
 
str=ch;
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 13:05 #3
C++
1
std::string str(ch);
0
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,046
Записей в блоге: 17
25.03.2012, 13:21 #4
C++
1
str.assign(ch);
0
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
25.03.2012, 13:41  [ТС] #5
не знаю почему но он мне выбивает ошибку, посмотрите эту часть кода
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
char buffer1[70] ; 
string s;
 
FILE *file;
char* file_name = "input.txt";
file = fopen( file_name, "r" );
do
{
    fgets(buffer1, 70 ,file);
    if (feof(file)) break;
    if (buffer1[strlen(buffer1)-1]=='/n')
        buffer1[strlen(buffer1)-1]=0;
s=buffer1;
}
while(true);
fclose(file);
0
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,046
Записей в блоге: 17
25.03.2012, 13:48 #6
А что пишит?
0
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
25.03.2012, 13:51  [ТС] #7
я делаю в visual studio 8
вот чтото такое:
1.Debug Assertion File
2.Expression(str!=NULL)
0
NightCoder89
12 / 12 / 1
Регистрация: 22.03.2012
Сообщений: 42
25.03.2012, 13:56 #8
Код
#include <iostream>
#include <string>

int main()
{
        char zz[5] = "foo";
        std::string s;
        s = (const char*) zz;
        std::cout << s;

}
0
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,046
Записей в блоге: 17
25.03.2012, 14:23 #9
Ошибка вызвана как я полагаю неправильным чтением из файла, а не самим преобразованием

Добавлено через 17 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
char buffer1[70] ;
string s;
 
FILE *file;
char* file_name = "input.txt";
file = fopen( file_name, "r" );
if(file!=NULL)
{
 do
 {
 fgets(buffer1, 70 ,file);
 if (feof(file)) break;
 if (buffer1[strlen(buffer1)-1]=='/n') buffer1[strlen(buffer1)-1]=0;
 s=buffer1;
 }
 while(true);
}
else cout<<"not found file"<<endl;
0
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
25.03.2012, 14:32  [ТС] #10
ну он мне написал в консоли что файл не найден

Добавлено через 1 минуту
я проверил он выдает ошибку в этом куске
C
1
2
3
4
5
6
7
8
9
10
11
if (file!=NULL)
{
do
{
    fgets(buffer1,70,file);
    if (feof(file)) break;
    if (buffer1[strlen(buffer1)-1]=='\n')
        buffer1[strlen(buffer1)-1]=0;
}
while(true);
}
0
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,046
Записей в блоге: 17
25.03.2012, 14:34 #11
Значит вывод: файла нет там где он необходим, либо его невозможно открыть
0
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
25.03.2012, 14:38  [ТС] #12
возможно чтото с библиотеками
C++
1
2
3
4
5
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "math.h"
#include "stdio.h"
0
Avazart
Эксперт С++
7247 / 5419 / 297
Регистрация: 10.12.2010
Сообщений: 24,046
Записей в блоге: 17
25.03.2012, 14:43 #13
Нужно только
C++
1
2
3
#include <string>
#include <fstream>
using namespace std;
Добавлено через 1 минуту
В
C++
1
char* file_name = "input.txt";
Укажи полный путь к файлу.
0
25.03.2012, 14:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 14:43
Привет! Вот еще темы с ответами:

Как перевести строку из string в char? - C++
Как перевести строку из string в char? Желательно наиболее простой вариант с объяснением.

Как перевести String^ в char[255] - C++
Доброго времени суток. Нужно перевести String в char. Делаю следующее: String^ func=Convert::ToString(textBox1-&gt;Text); const...

Надо перевести переменную типа unsigned char* в signed int и обратно - C++
у меня есть переменная типа unsigned char*, мне нужно перевести ее в signed int , провести арифметические вычисления и затем перевести ее...

Как перевести массив char[] в char* - C++
Не знаю как перевести массив char в переменную char*


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

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

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