Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

40,026 questions

51,982 answers

573 users

How to remove newlines from a string C

2 Answers

0 votes
#include <stdio.h>
 
void remove_newlines(char *s) {
    char *src = s;
    char *dst = s;
 
    while (*src) {
        if (*src != '\n' && *src != '\r') {
            *dst++ = *src;
        }
        src++;
    }
    *dst = '\0';
}
 
int main(void) {
    char s[] = "c\n  c++\r    java\npython\r go\n";
 
    remove_newlines(s);
 
    printf("%s\n", s);
     
    return 0;
}
 
 
 
/*
run:
 
c  c++    javapython go
 
*/

 



answered 5 hours ago by avibootz
0 votes
#include <stdio.h>
#include <ctype.h>

void remove_newlines(char *s) {
    char *src = s;
    char *dst = s;
    int last_was_space = 0;

    while (*src) {
        if (*src == '\n' || *src == '\r' || isspace((unsigned char)*src)) {
            if (!last_was_space) {
                *dst++ = ' ';
                last_was_space = 1;
            }
        } else {
            *dst++ = *src;
            last_was_space = 0;
        }
        src++;
    }

    // Trim trailing space
    if (dst > s && dst[-1] == ' ')
        dst--;

    *dst = '\0';
}

int main(void) {
    char s[] = "c\n  c++\r    java\npython\r go\n";

    remove_newlines(s);

    printf("%s\n", s); // result without extra spaces
    
    return 0;
}



/*
run:

c c++ java python go

*/

 



answered 5 hours ago by avibootz
...