C++ :: String Stream Usage To Parse The Line
Oct 7, 2012
I am working on a project were I have to read line form ( PLC ) programmable logic controller generated text file with lines like this
Circuit Value Current 2.33 4.32 5.55
there could be up to 3000 lines per txt file
I am using string stream to parse the line, for the sake of good programming I which to check weather first three values are string and last three values are actually floats raise or throw an exception if they are not ....
View 4 Replies
ADVERTISEMENT
Jun 6, 2014
I'm using the Split method to parse line in a csv file. The following code works if there are no commas in the text of my data.
string csvLine;
string[] splitLine;
csvLine = "Jim Borland,1234,Never dreams in code";
splitLine = csvLine.Split(',');
But if I have commas in the some of the text as below I get then wrong output. So I need split on a commas which are not enclosed in double quotes.
string csvLine;
string[] splitLine;
csvLine = ""Jim,C,Borland",1234,"Never dreams in code"";
splitLine = csvLine.Split(',');
The output I want is:
Jim,C,Borland
1234
Never dreams in code
I found this :
If your strings are all well-formed it is possible with the following regular expression:
String[] res = str.split(",(?=([^"]|"[^"]*")*$)");
The expression ensures that a split occurs only at commas which are followed by an even (or zero) number of quotes ... and thus not inside such quotes).
Nevertheless, it may be easier to use a simple non-regex parser.
But the .split gives me an error and .Split doesn't work either.
View 5 Replies
View Related
Mar 15, 2013
I'm trying to parse, or tokenize strings that follow the program name/command when used command line. I want to use the command followed by a sentence with a period. I know I need to user argv. But how can i parse the command rather than prompting the user for input. The input will be a sentence.
#include <pthread.h>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <sched.h>
#define MAX_SIZE 50
using namespace std;
//function prototypes
void *vowels(void*);
void *constants(void*);
[Code] ....
View 3 Replies
View Related
Mar 6, 2015
im trying to read employee information from a file using structures but im having problems with getting the file to open and read in the information
Code:
Write a programt that inputs (at most 50) records from a sequential file
#include <stdio.h>
#include <stdlib.h>
struct employee // employee structure definition
}
[code]....
View 13 Replies
View Related
Feb 20, 2015
I have a text file which contains many sentences. I am trying to extract only the numerical values from the string that conatins characters,numbers and white spaces from the file. I want to seperate the characters and numbers into different parts.
for example: the file contains sentances as given below.
I have to go to school for 10min.
You will come here in 15min.
He stayed here for 20min.
from the above sentances, I want to seperate " I have to go to school for " and "10" and put them into two different variables and also 10 should be in integer format.
View 1 Replies
View Related
Aug 25, 2014
So when I create the EF and use generate model from the database, I included the sensitive info into the connection string. Now I want to get the user to input password, userID, schema name, host into the connection string. I use Oracle as my database, so there is a need to put the schema name in it also.... How do I accomplish this task? Been trying to get it work but unsuccessful so far...
View 3 Replies
View Related
Mar 7, 2014
How can a mulitline string be read line by line
ex: str = "PERIOD="week"
DAY="day"
TIME="time"";
View 2 Replies
View Related
Apr 7, 2014
I am currently trying to read in a file that takes in the input in the following form.
Code:
HANK>25 BOB>31 AL>54
BILL>41 ABE>63 JEFF>50
I have tried the following solution:
Code:
#include<ifstream>
#include<iostream>
using namespace std;
struct node
{
string name;
int age;
);
int main ()
{
[code]....
The problem is a.name, it's extracting the entire string before the space character causing p.age to contain "BOB" and so on. I've tried using p.get(p.name, sizeof(p.name), '-') with '-' as the delimiter and p.getline() using a character array instead of a string. How would it be possible to only copy the string into a.name before the '>' character?
View 1 Replies
View Related
Oct 17, 2013
This is my code:
#include <iostream>
#include <string>
#include <istream>
#include <sstream>
using namespace std;
int main() {
string groups[3] = {};
[Code] ....
It outputs jibberish. I can do what I need to do but I would need to declare more variables and write more cout's, isn't there a way to add these elements to a stringstream or streambuffer? My goal is to write this program and make it as comprehensive as possible but also with very few lines.
View 1 Replies
View Related
Oct 2, 2013
I have problem with this code:
#include <windows.h>
#include <stdio.h>
#include <gdiplus.h>
#include "ScreenCap.h"
#include <wchar.h>
#include "base64.h"
#include <sstream>
using namespace Gdiplus;
int GetEncoderClsid(WCHAR *format, CLSID *pClsid) {
[Code] ....
This function return me a long series of Y ended with other chars but not the base64 string.
I think the problem is std::string encodedstring = base64_encode(buffer, dwBufferSize); but I can't figure out the problem.
The base64 function is: [URL] ....
View 2 Replies
View Related
Sep 2, 2013
I'm reading in a data set using an ifstream, then fetching line by line to a stringstream:
std::ifstream sfile(filename);
std::string test;
std::getline(sfile, test);
std::stringstream sline(test);
(I'm not sure why I used an intermediate string; it's pretty much legacy-code at this point, which I just reuse every time. Still works, so why change it!)
The problem is I'm using two types of data sets now, and the difference is one (optional). Most data files just have an arbitrarily large number if the second must be ignored, but others have nothing.
In the normal case, I'd simply use sline >> d >> L; to extract the parameter values. However, I'm not sure how this line will behave if the second parameter is omitted. Will it read nonsense? How do I check whether or not the parameter was set or not?
View 7 Replies
View Related
May 14, 2013
I am working on a project which is a fairly simply BAC calculator. I am attempting to grab data from a text file, which contains state abbreviation, maximum BAC before aggravated, and minimum license suspension. The text file looks like
#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
#include <stdio.h>
#include <ctype.h>
#include <iomanip>
#include <algorithm>
#include <cstdlib>
#include <sstream>
using namespace std;
float MALE_RATE = 0.68, FEMALE_RATE = 0.55, LEGAL_LIMIT = 0.08;
//percent of body weight which holds alcohol
[Code] ....
The code I am struggling with is the getline and stringstream which is near the bottom.
The output I am getting is
The maximum BAC before aggrevated DUI in AL is .15
The minimum penalty in AL is 90 day suspension of license
I get that for every state I type. I know it is reading the first line, but something in my code does not allow it to read the other lines
View 1 Replies
View Related
Apr 29, 2013
I wrote a program to write text contents to file stream through fputs, the file stream address was changed in the middle of writing text content to the stream (11% text content have been put into the file stream), that cause the file stream pointer can be evaluated problem and raise exception on stream validation code in fputs library function, my question is what things could go wrong to make file stream pointer changed its address to something else or a NULL pointer if the file stream have not been flushed and closed.
View 5 Replies
View Related
Jul 5, 2013
I have a text file (test.txt) with the following data:
01,05,25,20130728
01,06,25,20130728
01,07,25,20130728
01,08,25,20130728
01,05,25,20130728
01,05,25,20130728
01,05,45,20130728
01,05,65,20130728
01,05,85,20130728
01,05,35,20130728
01,05,25,20130728
01,05,35,20130728
I want to read this to one string called line. So far I have this code:
string line;
ifstream myfile ("/home/Test.txt");
if (myfile.is_open()) {
while (myfile.good()) {
getline (myfile, line);
for (int a = 0; a <= 335; a++) {
cout <<line.at(a);
} }
myfile.close();
}
so far its only printing the first line and then throwing an instance of 'std::out_of_range'
View 2 Replies
View Related
May 12, 2014
I have to read the information about logic gates from a file. The file format is shown below:
Code:
gateOne = NAND(inpA, inpB)
gate2=NAND(1,2)
3 = NAND(23,25,26)
As, it can be seen from the above structure that whitespaces are not same everytime. So, to deal with this situation, i am using boost library to remove all whitespaces from the line which is being read and then try to find the name of gate and its input. My code is given below which is able to correctly find the gate names and its first input...but my code is not able to find the second, third and so on input names.
Code:
//C
#include <stdio.h>
//C++
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <cstring>
#include <boost/algorithm/string/erase.hpp>
[Code] ....
View 3 Replies
View Related
Jan 21, 2014
I have two puzzling issues I am dealing with.
Issue 1: I am using a stringstream object in a block of my program that needs to be visited repeatedly depending on a user's selection from a menu. I want the contents of this stringstream object to be cleared any time control gets to this part of the program. I have tried the clear and flush functions to no avail.
Issue 2: I am reading data from a source text file that would be regularly changed during the course of program run. After the program run is over, I am supposed to save the results(which is basically the source text file AND all updates) in a destination file. This destination file would then serve as the source file when next the program is run. In other words, I want a scenario where my results overwrite the original contents of the source file; implying that my source and destination files are now one, pretty much. How can I do this?
View 7 Replies
View Related
May 9, 2014
Debug Error
ProjectsFinal ProjectGrItemDebugGrItem.exe
R6010 - abort() has been called
I was going over this with a friend and it seems as though getline() is not reading anything in and thus throwing the abort error. I'm not sure why this is because I've included the textfile, with the correct name of course, in both the regular file location and the debug folder. I ask for user input and the user then inputs the name of the file they want, I do some required things behind the scenes and display the results for them in a cmd window. I've included pastebin files for both my header and cpp files because it is far to large for one post I shall, however, post the full code in the comments.
Quick Code
The problem occurs on line 159. I'm assuming once this line is fixed, line 163 will have the same problem.
// Read regular price
getline(nameFile, input, '$');
vectorList[count].regPrice = stof(input.c_str());// Casts string to a float
// Read sale price
getline(nameFile, input, '#');
vectorList[count].salePrice = stof(input.c_str());
Pastebin Links : [URL] ....
View 2 Replies
View Related
Feb 3, 2013
I want to take multiple line string in c++. How can I take this.
Such as I want to take this as input:
HELLO MY LOVE, I M HAPPY BECAUSE SOON I WILL BE TO YOUR SIDE.
THIS TIME WITHOUT YOU HAS BEEN ETERNAL.
I INVITE YOU TO THE ZOO ONE TO SEE THE ZEBRAS AND GORILAS.
View 2 Replies
View Related
Sep 11, 2014
void login() {
//username, password, option to register, option to exit, link to website
cout << "Would you like to login(1), or press anything else to register.?" << endl;
cin >> loginYorN;
if (loginYorN == 1) {
cout << "Please enter your username: ";
cin >> accountInfo[1];
[code]...
So as above, I ask them to input 1 for login, anything else for register. Whatever they input, it get's stored into loginYorN, then I check to see what they input. If they put '1' for input, then I ask them for their username, store that into accountInfo[1], and then asking for the password, storing that into accountInfo[2].
Now here is where I need to input line 1(username) from login.csv or login.txt and line2(password) and storage these into accountID and accountPW.
View 1 Replies
View Related
Mar 6, 2015
How can i display a string per line on the .txt i made? There are 2 .txt files, the one has: John Finn Xach The other is: password1 password2 password3 Question is: How can i display, let's say, i input "John" so it will display something like this "John's password is password1" or if i input Xach, "Xach's password is password3" When i use something like :
Code:
while(getline(passwordFile, str))
{cout<< username <<" password is " << str;
break;
}
It will work for when i input "John", but it doesn't work if I input "Finn" or "Xach"
EDIT: I tried this one:
Code:
while(getline(userFile, str1) && (passwordFile, str2))
{
cout<< str1 <<" password is " << str2;
break;
The output would be: Finn password is password1
It iterates the username but not the password.
View 7 Replies
View Related
Mar 28, 2014
I'm making a game that requires the user to enter a correct username and password to play. I have a list of accepted ones saved in a txt file. How do i read each line of the file and check it with the one entered? I know how to use strcmp(string1, string2). I just need to know how to move from one line to the next. This is what I have for this part of the program so far. Also, I think im using the feof() wrong.
Code:
id = fopen("F://CS223/namepass.txt", "r");
score = fopen("F://CS223/scores.txt", "a");
srand(time(NULL));
if(id == NULL)
{
printf("ERROR");
[Code] .....
View 6 Replies
View Related
Oct 28, 2014
Basically I am writing a program that will ask the user to input some names and then I will sort the names. However, right now when I input the characters, it prints out everything, including the empty spaces. How do I put an end of string mark at the end of the line, when the user hits enter
void main() {
constintMaxNames(20);
constintMaxLetters(15);
charNames[MaxNames + 1] [MaxLetters + 1];
intNumRows;
[Code] .....
View 1 Replies
View Related
Aug 4, 2014
I try to learn string class, resolving some problem, but i have some dificulties.The is ok, but when i print the longest string it does'n print on the same line.I enter the number of string, after that i enter the first string until i introduced from keyboard "#" character. I enter the second string and so on.Look at these example :
For i = 3;
Text[0] : I learn class String#
Text[1] : I dont learn class String#
Text[2] : String#
It print me like that : Text[1] :
I dont learn class String More than that look at the next example :
For i = 3;
Text[0] : I learn class String#abcdef
Text[1] : I dont learn class String#
Text[2] : String#
You see that in the first sentence i have continue to introduce some characters after # character and look what is happened :
Text[1] : abcdef
I dont learn class String
#include<iostream>
#include<string>
using namespace std;
int main() {
string text[100], cuvant;
int i, j, m, lung = 0;
cout << "
[code]....
View 3 Replies
View Related
Dec 2, 2013
I'm trying to get this programme to work but I can't get it to output the string data at the end of the line.I have copied and pasted the line in question below but it may be a prob with the prog further down.
It reads character input ok but doesn't put one string into another or recognize when a string is quoted in a printf.
Code:
printf("%s what is your second name?
", surname, name2, name);
#include <stdio.h>
int main ()
{
char name[20];
[Code] ....
View 8 Replies
View Related
Dec 27, 2013
I was exploring static variable by writing code snippets. I tried below code and it ended up throwing error saying "error: storage class specified for parameter 'b'"
Why static cannot be used in func() ?
Code:
int main() {
int a;
a=5;
func(a);
printf("%d",a);
return 0; }
void func(static int b)
{b=6;
printf("%d",b); }
View 7 Replies
View Related
Sep 19, 2014
Now i am utilizing vectors in my codes.If i want to make a vector and i use #define to put a limit on the amount of variables it can contain. Until now i can do that. But let's suppose that i put 40 variables as its max capacity, but an user just needs to use only 12 or 14 variables. Put a rule that if someone has finished inserting his data and he is yet to fill the whole capacity of the vector the code.As to say : "If case you want to end press 0" .Edited : My computer has windows 7 and i took Codeblocks as my editor.
View 2 Replies
View Related