C :: Get Stdin Contents Without Newline Then Replace

Feb 19, 2015

I'm learning internet sockets right now and to that end I've made a simple client/server chat program centered around select(). I've got it to where multiple messages can be sent and received on either side and the "prompt" will move down 1 line each time accordingly.

My only sticking point is when someone is in the middle of typing a message and a new message is received. The message they are currently typing is going to be deleted, so they'll have to start over again. What I want to do is grab the current contents of the stdin buffer (meaning, there's no ), save it, print the received message and move the prompt downward as usual, and then put that saved message back into the buffer, meaning not only is it back on the screen now, it's erasable too as if nothing ever happened.

I know that this will definitely be some very very non-standard C, and that's fine. To that end, I've read that curses, GNU readline, and termios are possibilities for this. I've tried those, but am having trouble making it work.

This will be a moot point when I put a GUI on it soon (probably wx, but maybe Qt) since it won't even be an issue, but I'm determined to make this work. Both systems (the "client" and the "server") are Linux, one being Ubuntu and one being Debian.

View 2 Replies


ADVERTISEMENT

C++ :: Function To Replace A File With The Contents Of Another Stream

Apr 26, 2012

I have function which will replace (or create) an file with the contents of another stream. The stream could be anything. The replacement is done safely.

Code:
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <unistd.h>
int do_replace(const char *file, int stream, int cnt) {

[Code] .....

View 14 Replies View Related

C :: How To Get Newline In A File

Mar 3, 2013

I got a program thats get the newline... I am able to get it vertical but im looking for the line to be horizontal. So lets say my text has "this is an example

= 1st line "
"i'm so crazy about c
= 2st line"

My program only gets this...first letter of 1st line and second line.

Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
char *filename = "room.txt";

[code] .....

View 5 Replies View Related

C++ :: Zero In List Contents And Multiset Contents

Apr 24, 2015

HTML Code:

So I insert values from a vector into a list and into a multiset, and I noticed zero is added to their contents! I had to do a whole lot of debugging to find out where the error was, how can i stop this thing? Code which generates such error...

infact i checked the content of vector ups to be sure that there was no zero in it, but after loading into list combi_t * head, it seems like there was a zero added and this is giving me errors when i call function master_roller...

Code:
void ins(combi_t * &testa, int &numero, int &num, int &no)
{ // if (ricerca(testa, numero) == 0)
//{
combi_t *temp = new combi_t;

temp->val0 = numero;
temp->val1 = num;
temp->val2 = no;
temp->nextPtr = 0;

[Code] ....

View 2 Replies View Related

C :: How Each Word Newline Program

Feb 26, 2013

Code:

#include <stdio.h>
int main(void)
{
int c;
int inspace;

[Code]....

I tried this code w/o no "inspace" in it and code still worked but if I made more than one blanks between words it happened vertically double newlines etc.. so I just wanna know how this "inspace" makes newline w/o blank line for each word. Is that a flag ?

View 7 Replies View Related

C/C++ :: Newline When Writing To File

Sep 12, 2014

I've got an issue with my code; whenever I add the " " for a newline, a newline is not actually printed onto the file.

Here's my code:

/*
Description: Lists all the files & other directories in the directory passed through argv.
*/

/*
Importing the required headers.
Dirent.h for the dirent struct.
Stdio.h for printf.
Conio.h for File input/output.
*/

#include <dirent.h>
#include <stdio.h>
#include <conio.h>
int main ( int argc, char *argv[] ) {
// Checking that the user has given the correct number of arguments.

[Code] .....

The solutions I've tried are:

Trying to add the ASCII character for a carriage return (13) and newline (10), but it didn't work.Using fputs() and fprintf() - both mentioned in the code.

View 8 Replies View Related

C++ :: How To Terminate While Loop With Newline

Apr 24, 2012

I am new to C++ and wrote some code here that is not working how I want it to:

Code:
int main() {
vector<string> distinct;
string parag;
typedef vector<string>::size_type vec_sz;
vec_sz size = distinct.size();

[Code] ....

Basically, if I run it, it takes a string, stores it in a vector string, and then outputs it to the screen as I hit enter. But then it waits for another string to be entered. How can I stop it waiting for new input after I hit enter? I tried comparing parag with and terminating there, but I am getting compiler error. I am using code::blocks.

View 2 Replies View Related

C++ :: Newline Character Not Being Picked Up In A Conditional Statement

Jan 15, 2014

I have the following code:

Code:

while (lineread != "
")
{
getline(ifs,lineread);
}

In essence, it reads an input file, line by line until it hits a line only containing a newline character. So if the input text file is:

27
GC0123456
102905908801170--
2034068010201360
3039077011601400
4043086012901400
504709401400
6051010101400

[code]....

It should exit the while loop after hitting line 6. What happens however is that it goes into a perpetual loop and doesnt exit the while loop upon reading line 6.

What I did was changed the code to:

Code: while (lineread != "*")
{
getline(ifs,lineread);
} and the input file to:
27
GC0123456
102905908801170--
2034068010201360
3039077011601400
4043086012901400

[code]....

and finally it stops after line 6. In this case, merely changing the " " conditional character to a simple asterisk character "*" fixes the problem.

However I wish to keep the input text file as is with the newlines, so how do I make it exit the while loop when detecting a as a line?

View 3 Replies View Related

C++ :: Append More Characters After Newline Character In Txt File

Apr 26, 2014

I'm trying append more characters to a txt file after write title of foreground window and a newline character, but after first character, the next appear after a newline. Here is result => [URL].... and here is my code:

I'm using Dev C++ 4.9.9.2 compiler.

Code:

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
using namespace std;
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam);

[Code]....

I have made some changes for this =>

Code:

if (str_window)
strcpy(str_window,str_window);
strcat(str_window,"
");
log(str_window);

[Code]...

Now print only first character in digitation after title of active window. Still printing wrong see => [URL]..... Word "good" as sample.

View 10 Replies View Related

C :: Is There A Maximum Capacity For Stdin

May 23, 2013

Is there a maximum capacity for stdin ?

View 2 Replies View Related

C :: Reading Integer From Stdin

Mar 26, 2014

I am aiming to read an integer from stdin(pointed to the uart) and echo it with the uart interrupt service routine. there is a simple retarget file along with the main code shown below. So far i can read chars (char x[32] but i am struggling with int.

I have gathered that i need to use the scanf function to read an int from the pointer defined in fgets.

My output is giving me weird values, i enter 8 and ill get a random 3 digits back. I have a feeling its a problem with the input buffer.

Code:
//------------------------------------------------------------------------------// Cortex-M0//------------------------------------------------------------------------------
#include <stdio.h>#include <time.h>#include <rt_misc.h>
#include <stdlib.h>#define AHB_LED_BASE
0x50000000#define AHB_UART_BASE
0x51000000void UART_ISR(){

[Code] .....

View 9 Replies View Related

C++ :: Reading And Storing Newline Character Alongside Data

Jan 6, 2014

I am reading data from a text file into a program. I am well aware of the subtle distinctions in the mode of data input/entry when using the stream extraction operator, the get() function, and the getline() function.

My problem is that all of them do not read and/or store the newline character alongside the data read!

Any function that reads and stores data and the terminating newline character together??

View 1 Replies View Related

C :: Checking Validity Of Data From Stdin

Mar 23, 2014

Code:
#include <stdio.h>
#include <stdlib.h>
#define MAX_READ 2
int main( ) {
char * secret = "abecedarium consisting This is a string literal!";

[Code] ....

I am trying to test what happens in the sscanf converted types (command and string) if they are smaller, i got surprised that the printf worked, so i dont know why.

this code is just a test for what i want to do, what i really want to do is for example: i have this string from the stdin which must have the following format:

connect name.surname

So I need to check the cases when it is not the input that i want, namely if the name.surname is for example bigger than 30 chars. and also if it has the abecedary characters from the ascii...

View 2 Replies View Related

C :: Convert Scanf Output To Long Double And Discard The Last Newline

Apr 18, 2014

My goal is to read a one line file of a comma separated numbers into a floating point array. The numbers have up to 25 positions after the decimal. I'm having two issues with the following code.

1) atof() seems to be returning zeros every time. Why?

2) The last number includes the new line character. How do I get rid of it?

Note that I adapted the scanf command from here: The power of scanf() - [URL], and don't completely understand it.

Code:
#include <stdio.h>
#include <math.h>
//The following will be calculated in the real program.
#define DIM 1
#define N 8
int main()

[Code]......

In the "real" program, N is calculated and known before reading in the file and the file will always have 2 times N numbers.

View 9 Replies View Related

C :: Reading Full Sentence From Stdin And FILE

Sep 12, 2014

I thought maybe there was something in C that could read full sentences from stdin

Code:
scanf("%100[^
]s", string);

But that's not working for me. so i came up with my own function and its not giving me the results i want. here is the function including the call from main:

Code:
/* * * * * * * * * * * * * *
* FROM MAIN *
* * * * * * * * * * * * * */
printf("
Adding a new part...
");
printf("Enter part name: ");
get_string(new_part.pname);

[Code] .....

/* * * * * * * * * * * * * * * * * * * * * * *
* UNDESIRED OUTPUT *
* * * * * * * * * * * * * * * * * * * * * * */
8newpart

Where is the eight coming from? i thought fpurge clear the buffer. Also, I'm trying to add spaces in between words... i thought maybe putting within the while loop but outside of the if statement string[length +1] = '' would work, but it doesn't. so i put it outside of the loop but that i knew that wouldnt work either.

Problem #2 is reading from a file.. so far i have the following code which reads everything perfectly except the .txt file has a new line character at the end and i think its reading it:

Code:
/* * * * * * * * * * * * * * * * *
* READS FROM FILE *
* * * * * * * * * * * * * * * * */

if(read_in != NULL)
{
while ((fgets(read_string, MAX_PARTS ,read_in) != NULL) && (array_position < MAX_PARTS))

[Code] ....

0 in stock i want it to stop after reading the ball bearings line. a lot of issues for one post, but all related to reading inputs so i put it all on one.

View 2 Replies View Related

C :: Reading From Stdin And Printing - Segmentation Fault

Mar 8, 2013

I'm writing a program that reads from stdin and prints it back out. I'm getting a bunch of garbage then a seg fault.

Code:

double numbers[256];
memset (numbers, 0, sizeof (numbers));
for (;;) {
double num = scanf ("%255lg", numbers);
if (num== EOF)
break;
}
for (int i = 0; i < (int)sizeof (numbers); ++i) {
printf ("%g
", numbers[i]);
}

View 3 Replies View Related

C :: Directly Create Dynamic String From Stdin

Sep 14, 2014

Is it possible to create a dynamic char array on the fly directly from stdin? I do not want to create a fixed length array before hand and then copy contents of it into a malloc created array.

Code: //[1]
char line[MAX1];
gets(line);

[Code]....

I could do either [1](buffer overflow problem) or [2] and then goto [3]. But both will have a problem if the input is more than the size MAX1(use defined).

Is it possible to do something of the effect of readLine() method of BufferedReader class in Java or the Console.readLine in .NET? Is it possible to peek into stdin and see the size of the input and then creat an array of the same exact size?

View 8 Replies View Related

C++ :: Read A String Of Unknown Length From Stdin

Oct 10, 2014

I want to read a string of unknown length from stdin. I tried to follow the approach from this link. URL....My code is like this:

#include <iostream>
#include <string>
using namespace std;
int n;
cin >> n;
cout << "The value of n is " << n << endl;
}

[code]......

What I have noticed is that if I take integer input from cin (cin >> n;) in the above code before getline, the control does not stop on getline to take str as input from the console. If I don't do (cin >> n) before getline then the control stops on getline and takes the string as input.What is the best way to read from console multiple strings of unknown length in combination with the integers?

View 5 Replies View Related

C++ :: Restore Keyboard Stdin After Reading From Pipe?

Apr 25, 2014

I use the following code segment to read and output the text piped to a program. If there is no piped text, the code segment is skipped and then the program continues. What I need to do is restore stdin to the keyboard after reading from the pipe. I use the PeekNamedPipe() and ReadFile() because reading from stdin blocks until it has something, and I don't want that to happen. After reading from the pipe, the program begins to execute, and the main loop can be paused and it prompts for a command. I just can't figure out how to restore input to the keyboard. Obviously the platform is Windows.

char char_buffer[1024];
DWORD bytes_read;
DWORD bytes_avail;
DWORD dw;
HANDLE stdin_handle;
bool is_pipe = false;

[code]....

View 4 Replies View Related

C/C++ :: Array To Sort Strings In Alphabetic Order And Read From Stdin

Mar 20, 2014

I have a pre-declared array which sorts strings to it's alphabetic order and want to change it so it reads from stdin.

char *array[] = {"aaa", "ccc", "bbb", "ddd"}

I tried doing something like this:

for (i = 0; i < length; i++)
scanf("%s", &array[i]);

I just can't bring it to work. Another thing is, the input is a a bunch of strings separated by commas and ends with a period. Since I have to make a working C model which gets translated to assembly language later on I can't use functions like strtok.

View 6 Replies View Related

C :: Read From Stdin (File) Character By Character

Nov 10, 2013

I have to optimize a code for below scenario. I am reading stdin (a file redirected to stdin) character by character. How many chars are going to come is not known. After every few chars there is a seaparator. e.g $ as below

rhhrkkj$hghjhdf$ddfkrjt

While reading, if the separator arrives I'm processing the string stored before that separator and then continue reading stdin in same fashion, till EOF. I am using getc(stdin) to read chars.

Using gprof I can see most of the program time is spent inside main() , for this reading logic. Rest of the program is just some insert and search operations. I am getting time of 0.01 secs at the moment, want to reduce further.

View 6 Replies View Related

C :: Replace Tabs With Spaces

Jul 14, 2013

Basically, the task is to replace tabs with spaces, ensuring that the number of spaces is appropriate to get you to the next tab stop (i.e. if you were only 4 spaces away from a tab stop, don't replace the tab with 8 spaces).i've seen have included character arrays, and many have included multiple functions. I realize the text says "these exercises suggest programs of somewhat greater complexity than the ones earlie in this chapter," but it seemed like a very straightfortward task.Have i oversimplified or something?

Code:

#include <stdio.h>
#define TAB_STOP 8
int main()
{
int c, i;
}

[code]....

View 8 Replies View Related

C :: Replace String Function

Dec 23, 2014

I am new to C, but I recently completed an exercise from a book that finds a string in another string, removes the string, and replaces it with another string.

Code:

// Replace String
#include <stdio.h>
#include <stdbool.h>
bool replaceString (char source[], char s1[], char s2[])
}

[code]....

View 8 Replies View Related

C :: Replace Tabs With Spaces?

Dec 20, 2014

i want to replace tabs with spaces but i didn't get it. I also tried to count all the chars that i read from a file but that does also not work.

Here's what i have so far (fP is just a file)

Code:

void ReplaceTab(FILE *fP) {
int char_ = 0;
if (fP != NULL)

[Code]....

View 5 Replies View Related

C++ :: Replace 2nd Occurrence Of Letter?

Apr 27, 2013

i`m currently racking my brains out over this issue. How do i go about the x as the first occurrence of the letter?

lets say helxo , x is the 2nd occurrence of l. I will want to change back x into l

i have replaced it with x in the earlier step with this code...

string everySecondChar(const string &s,char source,char distance)
{
string t(s);
for(std::string::size_type even =0,pos=t.find(source,0);pos!=std::string::npos;pos=t.find(source,++pos))
{

[Code]....

i would like to reverse the process now, letting x becoming l again!

View 10 Replies View Related

C++ :: Replace Char In String

May 7, 2013

Is there a way to replace 3 char's in a string. For example i have a string containing

s = "The school is called 7x8"

I want to replace the "7x8" with "LSU". But the "x" can be any letter or number.

Is there a way to do that ?

View 6 Replies View Related







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