C :: Use Fgets And Sscanf To Read A Line Of Input

May 21, 2014

I'm new to C/C++. I am attemping to use fgets and sscanf to read a line of input, and confirm it is a positive number.My code works great, except for the case of a negative number. When I enter a negative number, my while loop seems to run infinitely, with stdin providng the same input over and over again.

Here's the code snippet:

Code:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define TEXT_LEN 64
void foo() {
char* inStr = (char*)malloc(sizeof(char)*TEXT_LEN);
memset(inStr, 0, TEXT_LEN);
}

[code]....

View 9 Replies


ADVERTISEMENT

C :: Fgets To Read A Line Without Returning New Line Char

Nov 5, 2014

I'm using fgets which will read a single line at a time, but unlike fgets I don't want it to return the new line char ( ) ?I want to be able to use printf to display the lines next to each other.

View 7 Replies View Related

C :: Fgets Does Not Read The Complete Tab Separated Line

Sep 16, 2013

I have prepared a file through the use of following code

Code:
fprintf(file2, "%i %i %i %i %i %i
",
msg_id,
msg_size,
msg_period,
msg_deadline,
msg_producer,
msg_comsumer
);

As one can see, this file has tab separated integer entries. The file is written correctly, let us call this file "msg.txt".

I face the problem when I read this file, using fgets as follows:

Code:
char singleMessage[100];
while( fgets(singleMessage, sizeof(singleMessage), file ) )
{
puts(singleMessage);
sscanf(singleMessage, "%i %i %i %i %i %i
",
&first, &second, &third, &fourth, &fifth, &sixth);
fprintf(stderr, "first: %d, second: %d, third: %d, fourth: %d, fifth: %d, sixth: %d
",
first, second, third, fourth, fifth, sixth);
}

but fgets only retrieves until the first, i.e, if the first line in the file reads:

788004425

fgets returns only 78.

Does it have to do with how the file was written in the first place.

View 1 Replies View Related

C :: Fgets New Line At End

Dec 11, 2013

Code:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_COL 70
#define MAX_ROW 20
}

[code]...

With my input.txt file being Code: abcd efgh And in particular, there is no new line after the letter h, but when I print out the text string, I get a new line after h. Why is this?

View 5 Replies View Related

C :: Fgets - How To Get Line Length

Apr 20, 2013

Code:
char line[BUFSIZ];
while ( fgets(line, sizeof line, file) != NULL ){
llen = strlen(line);
printf("%d - %s
",llen,line);
}

I get a full line printed but my llen is the size of my buffer. how do i get the total size om my line from the beginning to " "

View 3 Replies View Related

C :: How To Read A 2 Line Input

Mar 13, 2013

I want to be able to read 2 line input, then safe them in separate arrays.

line1 input=array1
line2=array2

View 7 Replies View Related

C :: Why Not The First Line At The Standard Input Read

Mar 21, 2013

Here's my code, it's for a poker hand evaluator

input:
'ad 2d 3d 4d 5d...
...4s 5s 6s 7s 8s'

I think it should go through all the 10 crads and disply the name of each card, but it seems to only do it for the second hand

Code:
include <stdio.h>
#include <ctype.h>
int main( void ) {
char inputtedhand[64];
int z=0, counter=0;
int index;
int i=0,m=0,n=0;

[Code].....

View 3 Replies View Related

C :: How To Prevent Fgets From Reading The New Line Character

Mar 12, 2013

i am trying to read a string using fgets and storing in an array i want to prevent fgets from storing the new line character on the array using the shortest means possible..

View 2 Replies View Related

C :: Make Fgets Stop Reading When It Reaches A New Line?

Apr 13, 2014

How can I make fgets stop reading when it reaches a new line? Right now it will read the new line and continue until the buffer is full. I was thinking something like this.

Code:
while(fp!='
'){
fgets(password, 256, fp);
}

View 2 Replies View Related

C++ :: Input And Output Files - Names Should Be Read From Command Line

Aug 3, 2014

I am having an issue with the statement "Both the input and output files' names should be read from the command line." I don't understand what this means or what I need to do.

View 4 Replies View Related

C++ :: Using Fgets To Read In A String - No Conversion Function Error

May 27, 2013

I am trying to use fgets to read in a string, but keep getting a "no conversion function from std::string to char" error.

View 2 Replies View Related

C++ :: How To Take Input From Keyboard Using Fgets And Atoi

Oct 12, 2014

Intead of using scanf("%d",&a) to take a input from the user,how to take a input using fgets(buffer, BUFFERSIZE , stdin) and atoi?

View 1 Replies View Related

C :: How Can A Multi-line String Be Read Line By Line

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

C++ :: Read Line By Line From Text File To String

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

C++ :: Read Txt File Line By Line Write To Vector

Oct 5, 2013

I need to read a text file which has various lines containing integers. I need to write those integers separately in a vector. Example, the first line of the text file contains 3 9 8 7 6 so vector[4]=3, vector[3]=9, vector[2]=8 and so on. Next read the second line 4 1 2 3 4 5 and write to another vector vector[5]=4, vector[4]=1...

I tried the code below but it will write from the second line, the whole line in one vector index.

int str; // Temp string to
cout << "Read from a file!" << endl;
ifstream fin("functions.txt"); // Open it up!
string line;
// read line count from file; assuming it's the first line
getline( fin, line );

[Code]...

View 1 Replies View Related

C/C++ :: Unable To Read Data From Buffer Line By Line

Jun 27, 2014

I'm reading strings one after another and trying to split it using strtok_r. This doesnot seem to be working

I have a .gz file from which I'm reading the data into the buffer in chunks.

The below code works fine only for the first chunk on data. Later it just breaks out.

while(1) {
char buffer[SIZE];
        int bytes_read = gzread (f, buffer, SIZE - 1);

[Code] .....

View 3 Replies View Related

C++ :: How To Read Data From A File Line By Line

Jul 2, 2013

I have an external file with one column of data. If I have a counter value let say counter =1, and counter++ and so on. How I can write such a c++ code that if the value of counter and value from the external file are same then generate an action let say cout both values i.e. value of counter and value from external file.

for more information, here is an example:

data in file(in one column): 2 6 8 9 10...
value of counter : 1 2 3 4 5 6 7 8 9...

then cout values only if value of counter and value from the file is same.

Here is my code so far, but it does not seem to work;

#include<iostream>
#include<fstream>
using namespace std;
int main() {
const int SIZE = 10; //Size declaration of array
int hours[SIZE]; //Array declaration

[Code]...

View 12 Replies View Related

C++ :: Read File Content Line By Line

Jan 23, 2015

I am reading my file (20GB) line by line using boost like this

PHP Code:

boost::interprocess::file_mapping* fm = new boost::interprocess::file_mapping("E:Mountain.7z", boost::interprocess::read_only);
boost::interprocess::mapped_region* mr = new boost::interprocess::mapped_region(*fm, boost::interprocess::read_only);

 char* bytes = static_cast<char*>(mr->get_address()); 

An exception is thrown in the second line while allocating memory for mr.

I use boost because it can also work in Mac which my code will be ported to.

View 3 Replies View Related

C :: Sscanf Causing Segmentation Fault

May 30, 2014

I have a problem in my code and after hours of looking I really cannot find out what is the problem.I use scanf to to parse lines of a file, let me copy only the important part:

Code:

/*File read...everything is fine*/
int seq_1, seq_i2;
int len;
while(fgets(&line[strlen(line)], line_length, file)!= NULL) {
}

[code]....

if (num_sc ==4) //the wanted format, do something So I am allocating all variables, and giving to sscanf pointers, so I really don't get where the segmentation fault appears.I checked with the debugger, the first line of the file is read, but at the second it crashes at the line of sscanf! The two lines don't have the format I want in sscanf but therefore I check if this number is 4 and then do other stuff to the data...

View 9 Replies View Related

C :: Reading Multiple Inputs Sscanf

Jan 23, 2014

I am beginner at C and I was working on a program where I have to read in a line such as Digit, String, Float. The string can have any amount of spaces between it. and each input is separated by a space character.

The input is of the format:

10000000000 hello my n ame is 30.2

So I used fgets(x,100,stdin) to read the line in.

So I need to read that line into an int, array, and float.. so I was thinking of using this:

sscanf(x, "%d %[^/n] %f", &number, &username, &numberfloat);

Now, obviously I can't use the /n to read in the username with spaces because I need to read the 30.2 into a float variable.

View 5 Replies View Related

C/C++ :: Sscanf Not Storing Variables Correctly

Jan 23, 2015

I'm trying to read in 3 values from the first line in a file. I want to take those 3 values and store them into 3 variables.

char buffer[100];
if((fgets(buffer, sizeof buffer, in) != NULL))
{
printf("current buffer is %s", buffer);
double tmpPrePrice, tmpDoorPrice;
int tmpTicCount;
int a = sscanf(buffer, "%d %d %d", &tmpPrePrice, &tmpDoorPrice, &tmpTicCount);
printf("applied %d variables %d %d %d", a, tmpPrePrice, tmpDoorPrice, tmpTicCount);
}

The input is

15 25 200

And the result:

current buffer is 15 25 200
applied 3 variables 15 0 25

any reason these aren't being stored properly?

View 3 Replies View Related

C :: How To Read End Of The Line In TXT Or DAT File

Nov 19, 2013

How do i read the end of the line in a txt or dat file? I treid using fscanf in a while loop like this

Code:

while(fscanf(pfile,"%c") != EOF && fscanf(pfile,"%c") != '') {
char c = ' ';
fscanf(pfile,"%c",&c);
str += c;
}

The reason why its important to stop after each line is that i need the program to read the data from each line separately.

View 2 Replies View Related

C/C++ :: How To Read A Line With Spaces

Oct 9, 2014

I want to store the address of a customer (with spaces) in a char variable (say cadd). First I tried to use "cin", as we know it reads until it sees any whitespace. So it reads only first word before a white space. So, I used "getline()" function. But when I used it, It didn't wait for the I/P (it skipped it).

char cadd[20];

std::cout<<"Enter Customer Address:
";
std::cin>>cadd;

std::cout<<"Enter Customer Address:
";
std::cin.getline(cadd,20);

View 1 Replies View Related

C :: Program Not Read The First Line Of File

Dec 2, 2013

I have been working on a program to scanfile and whenever it encounters what the user wanted it prints it, and it is all right less the first line of the file that the program jumps,

Code:

#include<stdio.h>#include<string.h>
#include<stdlib.h>
void main()
{
unsigned int j=0 ;
char num[100] , str1[100], str2[100];
FILE *fp;

[Code]....

View 3 Replies View Related

C++ :: Read Last Line Text File?

Aug 16, 2013

I am making a script to read the latest from a text file. It picks up the line by numbytes in fseek, but the data line may vary and numbytes not be accurate, how can I fix this?

And another problem is that the line has, date, time, value, separated by space, how to read that line and put these 3 information in variable?

#include <stdio.h>
#include <conio.h>
int main() {
FILE *arq;
char Line[100];
char *result;
int tam, i;
// Opens a file for READING TEXT
arq = fopen("temp.txt", "rt");

[code].....

View 19 Replies View Related

C# :: Unable To Read Each Line From A Listbox

Jun 28, 2014

I started learning programming a few days ago and i'm having trouble with reading each line from a listbox this is the code i'm having trouble with

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public string[] getFlies
{
get;
set;

[Code]....

What am I doing wrong?

View 5 Replies View Related







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