C++ :: Comparing Strings Against Static String?

May 20, 2014

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?

View 4 Replies


ADVERTISEMENT

C++ :: Comparing Two Strings With Strcmp

Jun 22, 2014

I have trouble comparing two strings with strcmp. The bold part of the code are the parts that are not working and i hope somebody can explain to me what i did wrong. Goal of the code is to compare a city name with the name of already created cities and when two of them match to creat a Street between them. Depending on the street pointer different streets can be created

my vector containing all already created cities (it seem to work)
std::vector<city*> citylist;//all cities

find city using strings and creating a road between them:

bool Map::add_street(Street *street, const string firsttown , const string secondtown) {
city* hilfs1=Map::find_city(erste);
city* hilfs2=Map::find_city( zweite);
if (hilfs1==NULL || hilfs2==NULL)
{return false ;} // Problem :both pointers are always NULL

[Code] ....

Here is also my implementation of the getname function :

std::string city::getname() {
return this->name;
}

View 2 Replies View Related

C/C++ :: Comparing Strings With Pointers

May 29, 2014

I have wrote the code below that compares to strings and sees if they are equals doesn't matter the order of the words . In the question we where asked not to use any library functions like the string functions in <string.h> and we have to do that all with pointers . I debugged my code and for some reason the first loop in the function keeps looping ...

#include<stdio.h>
int IsEqual(char* str1,char* str2);
#define SIZE 20
void main() {
char str1[SIZE]="my name is monaya",str2[SIZE]="name monaya is my";
if (IsEqual(str1,str2))

[Code] ......

View 4 Replies View Related

C :: Making Program For Comparing Strings

Oct 16, 2013

I know there is a function for comparing string but i am making it to just improve my concepts.error : 2 is coming as answer when i put same sting in both place.

Code:

#include<stdio.h>
main()
{
char str1[] = "hello" ;
char str2[]= "hello" ;
int q;
q = xstrcmp(str1,str2);
printf("%d",q);
}

[code]....

View 5 Replies View Related

C++ :: Class Objects - Program Not Comparing Two Strings

Jun 20, 2013

I am having difficulty with class objects.

1. why my program won't actually compare the two strings.
2. why and where I am having a memory dump crash.

The following is my main.cpp, String.cpp, and the header file in that order.

#include <iostream>
using namespace std;
#include "GREEN_String.h"
void main () {
GREEN_StringStr1;
GREEN_StringStr2 ("AdrianGreen");

[Code] .....

View 5 Replies View Related

C/C++ :: Comparing Input String To Type String Vector

May 29, 2014

I wrote a program that reads a list from a file and stores it in a string type vector. Now, I want the user to input a word so that the program can search the vector to see if that word already exists. I have used every possible way of reading input from the console and storing it in order to compare with the vector but it never results in a match. When I print the input string and the vector string they are exactly the same thing (or at least print to the console as if they were). I've tried using getline; using cin direct to a string var; using cin to a char array and then casting to string using string str(arr); I even added a newline at the end just in case and STILL I cannot get a match.

vector <string> currentSet; //read a list in from a file and has 9 items in it
cin.ignore();
string line;
getline(cin, line);
if(line == vector[0]){//if printed to console line is HEAT and vector[0] is HEAT
cout<<"match"<<endl;
}

View 3 Replies View Related

C :: Comparing Of Characters In Given String From Input String?

Feb 7, 2013

I am stuck in this program, Be given a string of chars, where each single char belongs to the following alphabet: a..zA..Z0..9 (So, in the string there are only lowercases, uppercases and digits. No blank, no comma, ...). For every char of the given alphabet, count how many times in the string

1-- the char belong to a sequence of identical chars whose length is at least three (i.e.: in the string cc74uyrpfccc348fhsjcccc3848djccccc484jd for three times the character 'c' satisfies this condition)

Code:
#include<stdio.h>
#include<conio.h>
#include<string.h>

[Code]...

2-what is the longest substring of characters strictly rising interm of ASCII code(the following is greater (>) of the previous)

3- what is the longest substring of successive characters interm of given string rannge (i.e.: fhkjshdfruytyzABCDEfglsj => 7)

View 1 Replies View Related

C++ :: Comparing Parts Of A String With Another String

Dec 15, 2013

I am wondering if there is a way to compare two strings that aren't identical with each other.

instance:

str1="ABC123";
str2="A****3";

if(str1==str2) {
cout << "It's a match";
}

View 5 Replies View Related

C# :: Comparing String Arrays To String

Mar 26, 2014

My program will scan a message sent over Steam (An online game distributor ) and I want it to check if the Message contains one of the elements in the array. I want it to compare the String of the message to the values in the String array. I have tried looking into it but have unfortunately found nothing that would go along with my program outline. Here is my code so far:

if (add == true) {
string[] itemNames = { "keys", "tickets", "nametags", "descriptiontags" };
string[] splitmessage = message.Split(' ');
foreach (string word in splitmessage) {
int strNumber;

[Code] .....

I am hoping for this to look like the picture of the code I wrote in the Attachments. [URL] .....

View 10 Replies View Related

C++ :: Comparing Two String In If Statement

Aug 31, 2014

i actually i want store string in r and try to compare other string (room_no) in function check but i try many time it still having error

#include<iostream>
#include<conio.h>
#include<fstream>

[Code].....

View 2 Replies View Related

C++ :: Boost Binding - Comparing String Using Strcmp

Jun 5, 2014

I am trying to compare strings (char*) using strcmp but I am having a hard time doing it with boost::bind. It compiles but it crashes when I run it.

I have a std::vector<boost::shared_ptr<DeviceInfo>> cMonitoredDevices and one cCurrentDevices. I used a typedef DeviceContainer for std::vector<boost::shared_ptr<DeviceInfo>>.

DeviceInfo is a simply struct that contains a char[128] Name (and other fields not important for this issue) that I want to use to compare.

So I am trying to find the DeviceInfo (based on Name) that are in cMonitoredDevice but not in cCurrentDevices. My problem is retrieving the Name value for the strcmp. Here is what I have so far

for(DeviceContainer::iterator pDevice = m_cMonitoredDevices.begin();
pDevice != m_cMonitoredDevices.end(); pDevice++) {
if (std::find_if(cCurrentDevices.begin(), cCurrentDevices.end(),
boost::bind(&strcmp, boost::bind(&boost::shared_ptr<DeviceInfo>::value_type::Name, _1),
(*pDevice)->Name) == 0) == m_cMonitoredDevices.end()) {
}
}

View 2 Replies View Related

C/C++ :: Comparing Two String Arrays For Unique Words?

Oct 2, 2014

I'm looking to take in an array of less than 50 strings, and I want to find all of the unique words in that array (omitting the words that are repeated) and then outputting the unique words and unique word count. My code compiles, but my unique array is couting all of the words contained in the original array regardless of uniqueness.

#include <iostream>
#include <string>
#include <stdio.h>
#include <string.h>
using namespace std;
int main() {
cout << "Please type in some words." << endl;
cout << "Type END and return when you are finished." << endl;

[code].....

This is what I get back.

You typed the following 14 words: red, green, blue, red, red, blue, green, blue, orange, red, reg, apple, banana, banana, END,

You typed the following 0 unique words: red, green, blue, red, red, blue, green, blue, orange, red, reg, apple, banana, banana, END

I'm not worried about the unique count yet, I just want to get the unique array containing the correct strings.

View 3 Replies View Related

C++ :: Strcmp Function - Comparing String Data From Two Different Files

Dec 20, 2013

I am having a slight issue with the strcmp function. I am comparing string data from two different files. I want the function to output a set of information if the strings are the same and a different set of data if the strings are different. My issue is, the function outputs the data that's the same but not different.

I had an else statement that compared the data if it was NOT equal but it only duplicated the data in the file.

One file is a listing of 100 books with 10 lines of information and an assigned market. The second file is a listing of the markets contained in the books file. However, the books file has a market that is not located in the markets file. The "missing" market is what is not priting or displaying.

// final project2 file

#include <iostream>
#include <string>
#include <iomanip>
#include <fstream>

using namespace std;
const int ARRAY_SIZE = 500;
const int MARKET_ARRAY = 6;
ifstream infile, infile2;
ofstream outfile;

[Code] .....

View 6 Replies View Related

C++ ::  handling And Comparing Large Number Initially In String Format

Feb 16, 2014

Suppose i have a very large number stored as a string, say

std::string str = "1000000000000000000000000000000000001";

And i use std::stringstream to convert it to int like this

std::stringstream ss(str);
uint64_t i;
ss >> i;

Then I would be maxed out right. so how would one practically handle things like comparison of two such numbers.

I could think of 2 approaches :

1) I can compare the numbers character by character.
2) I can put the results of ss >> i; into an array then compare each element of array

would there be any other methods??

View 4 Replies View Related

C++ :: Do Static Functions Have Access To Non Static Data Members Of A Class

Apr 17, 2013

From my book:

"A static function might have this prototype:

static void Afunction(int n);

A static function can be called in relation to a particular object by a statement such as the following:

aBox.Afunction(10);

The function has no access to the non-static members of aBox. The same function could also be called without reference to an object. In this case, the statement would be:

CBox::Afunction(10);

where CBox is the class name. Using the class name and the scope resolution operator tells the compiler to which class Afunction() belongs."

Why exactly cant Afunction access non-static members?

View 7 Replies View Related

C++ :: Accessing Non-static Members Inside Static Member Functions

Sep 11, 2013

What are the workarounds for accessing the non-static member variables of some class(Say A) inside static member functions of another class(Say B)? I am coding in c++. Class A is derived with public properties of class B. Any pointers?

View 7 Replies View Related

C++ :: Splitting A String Into 2 Strings

Feb 18, 2014

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???

View 6 Replies View Related

C# :: Static Method Inside Non-static Class

Aug 22, 2014

Have following code:

class Program
{
static void Main(string[] args)
{

[Code]....

My question according to what i just wrote:

1. Is that mean that Do() is only available for use by Dog itself because Dog is 'oryginal' Dog, and if i create new dogs - instances of oryginal Dog (dog1, dog2 ...) they cant access because Do is only available fo 'oryginal' one? Is that correct thinking?

2. If i would want to have something common (e.g value) for all dogs is that good way to create static field/method for Dog instead of non-static once then all instances of Dog would access Dog static member to get/change it? Just stupid example: static method GetAmountOfLegs() which return 4 Then all instances can take/call that value from Dog. Is that correct thinking?

View 2 Replies View Related

C++ :: Concat Raw Strings And String Variable?

Apr 16, 2015

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?

View 11 Replies View Related

C :: How To Compare A String With A Set Of Strings That Have Been Stored In A File

May 5, 2014

I 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] .....

View 10 Replies View Related

C++ :: Mapping Strings To Integers - How To Print String Zero

Dec 12, 2013

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.

View 4 Replies View Related

C++ :: Matrix Class (strings But No String Header Allowed)

Sep 27, 2013

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)?

View 11 Replies View Related

C :: How To Make String Array From Strings In Text File

Mar 24, 2013

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]...

View 1 Replies View Related

C++ :: Limit Size Of String (arrays And C-style Strings)

Dec 9, 2014

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]....

View 2 Replies View Related

C++ :: Convert QT String Manipulation Function To Work With Strings?

Feb 15, 2012

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 );
}
}

View 1 Replies View Related

C :: Handling Strings In 2 Dimensional Arrays / Multilingual String Organization

Jan 9, 2015

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?

View 6 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved