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

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

Войти
Регистрация
Восстановить пароль
 
lex90
2 / 2 / 0
Регистрация: 19.01.2014
Сообщений: 51
#1

Как определить строковую переменную? - C++

31.01.2014, 12:07. Просмотров 313. Ответов 5
Метки нет (Все метки)

Првиет всем!

Ситуация такая.Мне нужно что бы введенная строка загрузилась в переменную.А далее эта переменная была переданна в качестве аргумента функции.Примерно так.
C++ (Qt)
1
2
3
std::cin>>stroka
 
FILE *L = fopen (stroka ,"r"); \\ тут строка это путь к TXT файлу.Который мы открываем с "r" (Аргумент или т.д)
Как обьявить переменную stroka? Правельно или обьявить и указать на нее ссылку?Запутался в конец.Подскажите пожалуйста.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2014, 12:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как определить строковую переменную? (C++):

Как объявить строковую переменную? - C++
которой в процессе выполнения программы будут присваиваться разные значения. Вот это: char* a = "VasiaPupkin"компилятор объявляет...

Как в классе записать возвращаемую строковую переменную? - C++
как в классе записать возвращаемую строковую переменную? программа работает но ругается warning class_string.h #include...

Как добавить несколько символов в строковую переменную? - C++
как добавить несколько символов в строковую переменную?

Не могу вывести строковую переменную - C++
Привет :) Писал программу, обнаружил что не могу вывести строковую переменную таким образом: int b=0; cin>>b; string a; if...

Текст итема предать в строковую переменную - C++
Есть главное окно(диалог), в нем listBox Как по нажатию пункта меню(обработчик его в файле MainApp.cpp) текст выделенного итема предать в...

Записать каждое слова текста в отдельную строковую переменную - C++
Приветствую. Есть n количество слов в тексте, разделены пробелом. Как можно записать каждое слово как массив в string? То есть...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,997
31.01.2014, 12:16 #2
C++
1
2
3
string stroka;
cin>>stroka;
FILE *L = fopen (stroka.c_str() ,"r");
lex90
2 / 2 / 0
Регистрация: 19.01.2014
Сообщений: 51
31.01.2014, 12:27  [ТС] #3
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
#include<iostream>
#include<windows.h>
#include<urlmon.h>
#include <cstring>
#pragma comment (lib, "urlmon.lib")
int main(){ 
                   
                   
                   
                   std::cout<<"Vvedite put k txt file!"; 
                   
                   string stroka;
                   std::cin >> stroka;
                  
                   FILE *L= fopen (stroka.c_str() ,"r");
                   char  buff [256];
                   fgets( buff,64,L);
                   while( buff == 0){std::cout<<"Error!" ; return 0 ;};
                   
                   HRESULT CoInitialize(NULL);
                   
                   URLDownloadToFile(NULL,buff,"D:\file.exe",NULL,NULL);
                   
                   std::cout<<"Start download!" ;
                   
return 0;
}
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(12): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "stroka"
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(12): error C2065: stroka: необъявленный идентификатор
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(13): error C2065: stroka: необъявленный идентификатор
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(15): error C2065: stroka: необъявленный идентификатор
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(15): error C2228: выражение слева от ".c_str" должно представлять класс
Alkenso
5 / 4 / 4
Регистрация: 30.01.2014
Сообщений: 27
31.01.2014, 12:29 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
или же, в стиле С:
C++
1
2
3
char stroka[256];
cin>>stroka;
FILE *L = fopen (stroka ,"r");
Добавлено через 1 минуту
Цитата Сообщение от lex90 Посмотреть сообщение
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(12): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "stroka"
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(12): error C2065: stroka: необъявленный идентификатор
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(13): error C2065: stroka: необъявленный идентификатор
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(15): error C2065: stroka: необъявленный идентификатор
1>c:\users\lex90\documents\visual studio 2010\projects\89\89\89.cpp(15): error C2228: выражение слева от ".c_str" должно представлять класс
Добавь библиотеку #include <string>
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,997
31.01.2014, 12:31 #5
#include <string.h>
std::string stroka;
lex90
2 / 2 / 0
Регистрация: 19.01.2014
Сообщений: 51
31.01.2014, 13:28  [ТС] #6
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
#include<iostream>
#include<windows.h>
#include<urlmon.h>
#include <string>
#pragma comment (lib, "urlmon.lib")
int main(){ 
                   
                   
                   
                   std::cout<<"Vvedite put k txt file!"; 
                   char stroka[256];
                   
                   std::cin >> stroka;
                  
                   FILE *l = fopen (stroka,"r");
                   char  buff [256];
                   fgets( buff,256,l);
                   while( buff == 0){std::cout<<"Error!" ; return 0 ;};
                   
                   HRESULT CoInitialize(NULL);
                   
                   URLDownloadToFile(NULL,buff,"D:\Dima.eexe",NULL,NULL);
                   
                   std::cout<<"Start download!" ;
                   
return 0;
}
Такой вариант работает вполне нормально.Проверил.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.01.2014, 13:28
Привет! Вот еще темы с ответами:

Как правильно определить переменную - C++
её как то глобально создать надо? while(){ if() { //определить тут ...

Как определить переменную вне пространстве имён? - C++
Нужно объявить переменную входящую в пространство имён p3, при этом вне функции. namespace p3 { int b;//Пахает } int p3::a;...

Как определить переменную только один раз? - C++
Как в функции определить перменную только один раз? Ну чтобы потом при последующих вызовах она не переопределялась, забыл блин, там слово...

Как в классе создать строковую константу? - C++
Как в классе создать строковую константу? Конструкция типа static const char __tmp_obj1 = &quot;abc&quot;; не работает.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
31.01.2014, 13:28
Ответ Создать тему
Опции темы

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