I cannot read spaces and enters in c++ using devc++ [closed] - c++

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 6 years ago.
Improve this question
Hi I am new here and I have little problem I guess. I want my program to change one character in whole text in text file. For example I want to change all A to G. But when I read it ,it does not even read spaces and enters. Also I want to write eddited text in new textfile. Thanks for help.

At the beginning you should load whole file.
std::ifstream is("file.txt");
is >> std::noskipws;
std::istream_iterator<char> start(is), end;
std::vector<char> buffer(start, end);
is >> std::noskipws prevents stream from skipping white characters like space or enter. Then replace characters using std::replace(buffer.begin(), buffer.end(), 'A', 'G');.
Now simply save file:
std::ofstream out("file.txt", std::ofstream::binary);
std::copy(buffer.begin(), buffer.end(), std::ostreambuf_iterator<char>(out));
You may want to read something about those:
std::ostreambuf_iterator, std::istream_iterator, std::noskipws, std::replace.

Related

Remove blank line in c++ [closed]

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 2 years ago.
Improve this question
How to remover blank lines after reading a text file using c++?
while(arry[i]="/n"){
i++;
}
This is my code.It gives some output.But it is not a expected output.
while (arry[i] == '\r' || arry[i] == '\n') {
i++;
}
And please add the checkpoint of the boundary of arry like that:
i < arry.length()
\r is a carriage return character; it tells your terminal emulator to move the cursor at the start of the line. So, \r allows to override the current line of the terminal emulator.
In C++ single quotes identify a single character, while double quotes create a string literal. 'a' is a single a character literal, while "a" is a string literal containing an 'a' and a null terminator

Read in a certain line only? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
I'm making a program to read in a configuration file and I only want to read certain lines. Example:
config.txt:
This is a test configuration text file
It isn't supposed to read this line or the line above it
Read this line, but not the white space above or below it
Don't read this line or the white space above or below it
Read this line, but not the white space above or below it
I'm using your basic I/O:
FILE *File;
File = fopen("config.txt", "r");
You can mark lines you don't want to read with some character or a number, so whenever input stream reads it, you can skip it.
0 This is a test configuration text file
0 It isn't supposed to read this line or the line above it
1 Read this line, but not the white space above or below it
0 Don't read this line or the white space above or below it
0 Read this line, but not the white space above or below it
Then check value in first place of every line and skip it/ read it.
Or use something like multiline comments in C /* commented out */ check for opening character and skip everything before closing character.

How can i get all the text until a space don't come in Qstring? [closed]

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 7 years ago.
Improve this question
Hello i want to get the ultil the space in line occur for example
in the given picture am able to get the whole string using getter method to my parent window but i dont want get the date time part
am currently getting
https://www.youtube.com/watch?v=VXw6OdVmMpw Sun Nov 1 20:29:30 2015
while i want get https://www.youtube.com/watch?v=VXw6OdVmMpw
can anyone help me i used Qstring left right but i cant get it working properly.
//QString Input holds your data...
QString Output = Input.section(' ', 0, 0);
section sees the string as fields seperated by a seperator character (' ' in this case) and returns the section from the given start section (0) upto and including the end section (0).
Assuming the white space in your inputstring is really spaces, if it is not, change ' ' to the correct seperator character.

C++ -- Storing from .txt file to array? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
2 Questions:
The first question is, I need to input the name of the text file when the program runs so let's say it's called "Banana.txt" , I type it in and I'm missing the last word of the file. This is basically all I used to output from the txt file.
while(File.good()){
cout <<word << " "; //put spaces in between the words
File >> word; }
Not sure how to get the last word.
The second question is how do I store the information from the .txt file into an array that I can use later?
Does it have to be multidimensional? The maximum words in the file are 100..
Eventually I'm going to need to ignore any words < 4 characters.
I actually can't recall if I should use char or string. But iirc char is each individual character whereas string is a collection of characters? Arg. Scratch that, Looking it up in a bit..
Not allowed to use hash_, vectors, maps, stack, or lists so I'm not sure how to go about this problem
Thanks in advance for the help. I tried looking through other threads but I'm not sure if those are the ones I'm looking for... Sorry for the questions ..
You're outputting before you've input.
Try swapping your two lines in the while loop, something like:
while(File.good())
{
File >> word;
cout << word << " "; //put spaces in between the words
}
to put the data into a container, assuming word is of type string, try:
vector<string> v;
and at the bottom of your loop:
v.push_back(word);
For the first one, you need to first read into the word then output it.
The "intuitive" loop of while(File.good()) though is flawed because if you are at end of file but haven't read it yet, the stream will appear good until you try reading the next word.
As a result the read will fail. You could do
while( File.good() )
{
if( File >> word )
{
// process this word
}
}
but simpler is
while( File >> word )
{
// process the word
}
Another thing you can use is istream_iterator and copy, and then you can actually copy them into your sequence. However you are not allowed to use the standard C++ library.

C++ \n in a string (Not working) [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question appears to be off-topic because it lacks sufficient information to diagnose the problem. Describe your problem in more detail or include a minimal example in the question itself.
Closed 9 years ago.
Improve this question
I'm learning C++. Here's my problem.
http://prntscr.com/2m5flm
I created a function who can read Prop files like them (you can set the file beginning and ending tags with a function, searching a specified tag with a function who will return a string (containing the results).
Here's the main.cpp
#include <iostream>
#include "m_PFile_r.h"
using namespace std;
int main(int argc, const char * argv[])
{
m_PFile_r k;
k.open("prop.arg");
k.imNotaFag(true);
k.setOpenArg("$FILE_BEGIN$");
k.setCloseArg("$FILE_END$");
string lS;
lS=k.getArg("launchSentence");
cout << lS << endl;
string menu;
menu=k.getArg("progMenu");
cout << menu;
return 0;
}
MY QUESTION IS : Why doesn't it print the \n as a line return ?
Thanks :)
The file has new line characters in it, they are defining the end of the lines. When you enter the newline character in the file, it is being stored in that file not as a newline character, but the two individual characters "\" and "n". So when you then read in the file, those characters are read in just like the others.
You are over complicating this problem. If you would like to print out various phrases to the user, just include those phrases as string variables in your program.
String launchSentence = "This is the launch sentence.";
String progMenu = "Hit 1 For Add Hit 2 for Subtract";
These could then be printed with the normal COUT << progMenu method.
If your purpose with the text file is to keep all of the possible text strings isolated in one easy location, why not create a TextCommandPrompts.h, fill it with the String (character in C++) variables and include that in your main?
Edit - Because I can't comment yet and I want to respond to one - I thought that whatever text editor that was letting him write line by line would be messing this up. As in, its already doing the "\n" magic, and when he writes in the characters '\' and 'n' something mundane happened, and they stayed as regular characters.