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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
25.03.2012, 10:46     Перевести массив char в переменную string #1
Помогите перевести массив char в переменную string
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
25.03.2012, 12:48     Перевести массив char в переменную string #2
C++
1
2
3
4
char ch[]= "char";
std::string str;
 
str=ch;
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
25.03.2012, 13:05     Перевести массив char в переменную string #3
C++
1
std::string str(ch);
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
25.03.2012, 13:21     Перевести массив char в переменную string #4
C++
1
str.assign(ch);
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
25.03.2012, 13:41  [ТС]     Перевести массив char в переменную string #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);
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
25.03.2012, 13:48     Перевести массив char в переменную string #6
А что пишит?
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
25.03.2012, 13:51  [ТС]     Перевести массив char в переменную string #7
я делаю в visual studio 8
вот чтото такое:
1.Debug Assertion File
2.Expression(str!=NULL)
NightCoder89
 Аватар для NightCoder89
12 / 12 / 1
Регистрация: 22.03.2012
Сообщений: 42
25.03.2012, 13:56     Перевести массив char в переменную string #8
Код
#include <iostream>
#include <string>

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

}
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
25.03.2012, 14:23     Перевести массив char в переменную string #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;
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
25.03.2012, 14:32  [ТС]     Перевести массив char в переменную string #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);
}
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
25.03.2012, 14:34     Перевести массив char в переменную string #11
Значит вывод: файла нет там где он необходим, либо его невозможно открыть
dobrosol
2 / 2 / 0
Регистрация: 25.03.2012
Сообщений: 13
25.03.2012, 14:38  [ТС]     Перевести массив char в переменную string #12
возможно чтото с библиотеками
C++
1
2
3
4
5
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "math.h"
#include "stdio.h"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2012, 14:43     Перевести массив char в переменную string
Еще ссылки по теме:

Массив char в переменную char C++
Как перевести строку из string в char? C++
Как перевести string в char* ? C++

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

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
6893 / 5133 / 250
Регистрация: 10.12.2010
Сообщений: 22,560
Записей в блоге: 17
25.03.2012, 14:43     Перевести массив char в переменную string #13
Нужно только
C++
1
2
3
#include <string>
#include <fstream>
using namespace std;
Добавлено через 1 минуту
В
C++
1
char* file_name = "input.txt";
Укажи полный путь к файлу.
Yandex
Объявления
25.03.2012, 14:43     Перевести массив char в переменную string
Ответ Создать тему
Опции темы

Текущее время: 00:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru