C++ :: Concat Raw Strings And String Variable?
Apr 16, 2015Is this possible in c++:
Code:
string s = R"(some rand string)" + argv[4] + R"(some rand string1)";
if it isn't, what is the best way to do this?
Is this possible in c++:
Code:
string s = R"(some rand string)" + argv[4] + R"(some rand string1)";
if it isn't, what is the best way to do this?
How to swap two strings without using 3rd variable? could it be done using constructors? If yes how?
View 11 Replies View RelatedI have to write a loop assigning a variable x to all positions of a string variable and I'm stuck. I don't have extensive experience with arrays and I'm also a bit confused about C-String. The problem is below.
"Given the following declaration and initialization of the string variable, write a loop to assign 'X' to all positions of this string variable, keeping the length the same.
char our_string[15] = "Hi there!";
(Please note this is a 'C-string', not C++ standard string.)"
I believe that everything is fine except that I can think of the condition can be inserted inside the parentheses ..
#include <iostream>
using namespace std;
int main() {
int i=0, k=0;
char *string_n, **matrix, temp;
[code].....
For my default constructor I need to set an array of strings to null and the size variable to 0. Here is my code for that
DynamicStringArray::DynamicStringArray() {
*DynamicArray[]=NULL;
size=0;
}
When I try and compile it I get an "expected primary expression before ']' token" error.
i have an array of strings that i need to split into 2 different string.
Code:
string title = " "Rebecca" "Alfred Hitchcock" ";
so far all the data is in one string called title
//need to break them into 2 strings, title and director
// title should contain = Rebecca
// director should contain alfred hitchcock
which string fuctions can i use to split these 2 and remove the quotes???
I'm writing a code generator that produces a function from the strings to the ints. I'll be using the generated code as a "from string to enum" utility. For example:
Code: enum Color {
Red, Green, Blue, Banana
};
// The definition of colorFromString is generated somewhere.
Color colorFromString(const std::string & s);
[Code].....
The implementation of the generated code is a trie. I've seen implementations in the past (including the one at work that I'd like to replace).
Anyway, say you need to compare the region of the string
Code: const char s[] = "holiday"; from index 3 until before index 6 against the string "ida".
I can see two bits of code that my generator could produce. One is
Code: bool hasIda = std::equal(s + 3, s + 6, "ida"); and the other is
Code: bool hasIda = s[3] == 'i' && s[4] == 'd' && s[5] == 'a';
The existing code generator uses the latter method, claiming (I think) that the generated instructions are more efficient on some architectures. Is there any way to determine which is better generally, or do I have to examine the assembly produced on all target platforms?
How to change an enum type variable to a string type variable?
View 2 Replies View RelatedI am trying to compare a string that i have entered with a set of strings that have already been stored in a file. I am using strcmp function but i am not getting the result.
Code:
printf("
Enter string:");
scanf("%s",&m);
ptr_file =fopen("abc.text","r");
[Code] .....
I'm very very new to maps and am really just trying to hash them out by myself.
If you're mapping strings to integers:
map <string, int> myMap;
myMap[ "zero" ] = 0;
myMap[ "one" ] = 1;
How do I print the string "zero", for instance, from myMap?
cout << myMap.at(0) << endl;
doesn't work. Nor does:
cout << static_cast<string>( myMap.at(0) ) << endl;
I need access to the string using the int and the int using the string. Or just direct access to one or the other. . . It's just confusing that they're technically mapped to one another but I can't really access either of them.
I am IT student and had a C++/C (oral + paper) exam today. One of the tasks was to write a 2D-Matrix (as the question said) class with following restrictions:
- No <string> header is allowed
- Only Dtor needs to be implemented
- No templates
- Following should be possible:
Code:
std::cout << mat1 + mat2 + "some randome string";
mat1 += mat2; So i did the following:
In Matrix.h i wrote: Code: Class Matrix{
int rows, cols;
char *arr[][];
[Code] .....
Now..this destructor made me loose some points since the Prof. said that it is not correct. The corrected version was:
Code:
Matrix::~Matrix(){
if(arr){
for(int i = 0; i < rows; i++){
for(int j = 0; j < cols; j++){
delete [] arr[i][j];
[Code] ....
Now, i agree on that error i made, but it is only in case we use the "new" keyword to reserve place dynamically for each string(for each char*). So this raised the question in my head about:
Since the following is allowed in C++
Code:
char* str1 = "hello";
char* str2 = "you";
arr[1][3] = str1;//arr[1][3] was initialized to "_" without new keyword
arr[6][0] = str2;//arr[6][0] was initialized to "_" without new keyword why would someone use the new keyword..
I mean like this:
Code:
arr[1][3] = new char*[sizeof("sometext1")+1];
arr[1][3] = "sometext1";
arr[6][0] = new char*[sizeof("sometext2")+1];
arr[6][0] = "sometextw";
What is happening internally in C++ in both the cases(with and without new keyword)?
I want to make a string array from strings in a text file. Itry to do this but i couldn't do, where is my mistake?
Code:
#include <stdio.h>
#include <stdlib.h>
int main(){
char cumle[100],*c,*dene[50];
FILE *input;
input=fopen("input.txt","r");
[Code]...
how do I tell the if statement to output this error message 'exceeded the maximum amount of characters' that has its characters stored in an array using c-style string?
[INPUT] The cat caught the mouse!
[OUTPUT] Exceeded the maximum amount of characters (max 10)
#include<iostream>
#include<string>
[Code]....
I have the following function I would like to convert to work with std:string. I don't understand QT strings at all.
Code:
void FromHexString(const QString &hexText, void* pData, int dataSize) {
for (int i = 0; i < hexText.length(); ++i) {
bool ok = false;
((uint8_t*)pData)[ i ] = hexText.mid( 2*i, 2 ).toInt( &ok, 16 );
}
}
I have a firmware application that works well where I display simple text messages on an LCD screen. At the moment, the User Interface is only in English and I have the text strings simply declared as follows:
Code:
static char msg1[] = " Welcome ";
static char msg2[] = " Data Read ";
//etc...
I want to add a variable that can set the language dynamically from an external device, and so I thought I could do the following:
Code:
#define ENG 0
#define FRE 1
#define GER 2
//...
static char msg1[ENG][] = " Welcome ";
static char msg2[ENG][] = " Data Read ";
[Code] .....
writeLCD(msg1[cLang][]); When I try to compile the above I get a compiler error at the "static char msg..." declarations. The error is: "error: array type has incomplete element type"
Is this method valid, but I have a simple syntax problem with the arrray declarations? Or is this method unworkable and I should find a different method?
My assignment is : Please use C type strings ( array representation of strings). Write a program that will ask the user to enter a string. It will then regard that string as a worked-on string and allow the user to perform the following editing functions on it:
s – search
i – insert
a – append
d – delete
a – append
d – delete
r – replace
e – exit
s – search
This option will allow the user to search for a specified string in the worked-on string. If the string is
found, it will display the starting index (position) of the searched string in the worked-on string.
here is what i have so far.
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char a_string[80];
[Code] .....
As written in the title, I want to be able to extract a variable value from a string containing the variable's name. I know one can use associative containers such as maps but is there another more direct way?
E.g.:
int variable = 5;
string str = "variable";
// how do I get the value of 5 out of the string containing the variable name?
If I am correct, this is called 'Reflection', correct me if I'm wrong.
I know C++ has no inbuilt 'Reflection' class or anything like that so I was wondering if there is a workaround for this kind of thing or is there a library out there which can do this? (that's if I have the name right).
I have found a library called Boost Reflection which sounds like it could do this but I just wanted to make sure that reflection is actually what I am talking about and whether C++ can do what I'm trying to do? I'm not sure how.
Im trying to write a program that reads in strings and decides if the 1st one is repeated. I cant figure out how to store the first string into a variable, and compare that variable to the rest of the inputted strings.
Code:
#include <strings.h>
#include <stdio.h>
int main () {
//Declared variables
int i;
}
[code]....
The while loop is increased by i++ each time. In the commented line I want to express.When:
i = 1 , player1.cards[j] = random;
i = 2 , player2.cards[j] = random;
void cardScramble()
{
int random;
int i = 1;
while (i <= 4)
[code]....
I tried to define it or manipulate it as a string but didn't work.
I have defined a class in a header file; just the class, no templates involved. I have a program where I'm reading in data in string format. Each string consists of a word, a delimiter, and a variable name. Example:
cajun/mustard
I want to take that string and make it the variable name of that class type. It would be implemented along the lines of:
Code:
string str;
//read/process string here, get:
str = "mustard";
createName(str);
//pass string to creator function When the function is called, I should get the variable:
Class mustard;
Thing is, I'm not supposed to know beforehand what the variable names are, only that I create them as they are read in. It could be mustard, it could be Maynard_James_Keenan, it could even be bazinga.
My problem is, what do I do for createName()? I've looked into the concepts of pairing, Factory implementation, and maps, but I don't think they answer my question.
(P.S. if I run into the same variable name being read in twice, what steps can I take to make sure that a duplicate variable isn't created? Do I need to add in code, or does the compiler know to watch for multiple variables of the same name?)
Is there a variable that can hold string and int in the same time?
If not, what can I do if I want to input data with string and int like a password for an example.
I would like to convert a string variable to float.When acquiring data from text file, I use:
while( getline( ifs, temp )) {
numberOfFeatures++;
vecteur.clear();
string::size_type stTemp = temp.find(separateur);
number_descriptorEntries=0;
[code].....
the matrix that I obtain is of type vector<Vec> where Vec is a vector of strings.I want to convert each element of matrixe to a float.
Like if the user enters "38 F" how do I take out the 38 only and store it in a variable? So far my program goes like this:
string text;
double temperature;
cout << "Enter temperature: ";
getline(cin, text); // user enters 38 F
temperature = text // store 38 from string into double
I am having trouble finding the solution to printing the contents of a variable. Here is my code:
void OnSize(HWND hwnd, UINT flag, int width, int height) {
std::wstringstream ss (std::wstringstream::in | std::wstringstream::out);
ss << flag;
std::wstring myStr = ss.str();
MessageBoxW(hwnd,myStr, L"Window Resized",NULL);
}
Note, I have #defined UNICODE at the beginning. The compiler tells me this for myStr.
std::wstring myStr
Error: No suitible conversion function from "std::wstring" to "LPCWSTR" exits
I have a problem that states: age is an int variable and name is a string.
What are the values of age and name after the following input statements execute.
cin << age;
getline(cin, name);
if the input is:
a. 23 Lance Grant
b. 23 Lance Grant
Ok I have been fooling around with this book all day. My instructer wants us to build the program instead of just saying
a = 23 Lance Grant
How to input B. I mean when I write the program I do not know how to ask for two lines for one input.
What I'm trying to do is to assign the length of a string to an integer variable. This is what i tried, it did not work.
Code:
printf("Enter a string
");
fgets(test_pass, 30, stdin);
strcpy(x,(strlen(test_pass)));
printf("%d", x);
This was just a test, and it did not compile. How to do this?