Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. To read a complete string

To read a complete string

Scheduled Pinned Locked Moved C / C++ / MFC
c++question
17 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Pankaj D Dubey

    Hi All, i want to write a code to read a complete string. The code i have written reads the first word of every string. What all modification is it required to do the same? I am ucing MFC for the same. Thank u all

    French is the language of love, for everything else there is c++ ...(anonymous)

    _ Offline
    _ Offline
    _Superman_
    wrote on last edited by
    #4

    Your question is not clear. Where are you reading from? File? Standard input? How are you reading it? scanf? cin? I'm assuming that you are reading from standard input, ie, user input. If you are using scanf, you can do this -

    char sz[1024];
    scanf("%[^\n]", sz);

    If you are using cin, you can do this -

    string s;
    getline(cin,s);

    «_Superman_» I love work. It gives me something to do between weekends.

    P 1 Reply Last reply
    0
    • _ _Superman_

      Your question is not clear. Where are you reading from? File? Standard input? How are you reading it? scanf? cin? I'm assuming that you are reading from standard input, ie, user input. If you are using scanf, you can do this -

      char sz[1024];
      scanf("%[^\n]", sz);

      If you are using cin, you can do this -

      string s;
      getline(cin,s);

      «_Superman_» I love work. It gives me something to do between weekends.

      P Offline
      P Offline
      Pankaj D Dubey
      wrote on last edited by
      #5

      No, I m not using cin or scanf, i am reading data from a text file, and storing the outputs in arrays and again giving these array values as input to the textboxes so as to get an onscreen display of tht perticular text box.

      French is the language of love, for everything else there is c++ ...(anonymous)

      _ 1 Reply Last reply
      0
      • P Pankaj D Dubey

        No, I m not using cin or scanf, i am reading data from a text file, and storing the outputs in arrays and again giving these array values as input to the textboxes so as to get an onscreen display of tht perticular text box.

        French is the language of love, for everything else there is c++ ...(anonymous)

        _ Offline
        _ Offline
        _Superman_
        wrote on last edited by
        #6

        You can getline on the file stream to read one line at a time.

        «_Superman_» I love work. It gives me something to do between weekends.

        P 1 Reply Last reply
        0
        • _ _Superman_

          You can getline on the file stream to read one line at a time.

          «_Superman_» I love work. It gives me something to do between weekends.

          P Offline
          P Offline
          Pankaj D Dubey
          wrote on last edited by
          #7

          fopen("some_file.txt","r"); Search(fp_mt2, "Text: 2", "xyz"); for(i = 0; i < 10; i++) { fgets(line_buffer, 200, fp_mt2); j=0; while(line_buffer[j]!='(') { j++; } j = j + 2; mt2[i] = line_buffer[j]; } m_txt = mt2[0]; " " " " " "........ some 10 times w.r.t every value of mt2[j] m-txt is the textbox. But i am getting only first character of every string of every line. The string carry 2 or 3 characters. j = to reach the perticular line. would u please help me further.

          French is the language of love, for everything else there is c++ ...(anonymous)

          _ 1 Reply Last reply
          0
          • P Pankaj D Dubey

            fopen("some_file.txt","r"); Search(fp_mt2, "Text: 2", "xyz"); for(i = 0; i < 10; i++) { fgets(line_buffer, 200, fp_mt2); j=0; while(line_buffer[j]!='(') { j++; } j = j + 2; mt2[i] = line_buffer[j]; } m_txt = mt2[0]; " " " " " "........ some 10 times w.r.t every value of mt2[j] m-txt is the textbox. But i am getting only first character of every string of every line. The string carry 2 or 3 characters. j = to reach the perticular line. would u please help me further.

            French is the language of love, for everything else there is c++ ...(anonymous)

            _ Offline
            _ Offline
            _Superman_
            wrote on last edited by
            #8

            Your last post was very confusing. I didn't quite understand.

            «_Superman_» I love work. It gives me something to do between weekends.

            M P 2 Replies Last reply
            0
            • _ _Superman_

              Your last post was very confusing. I didn't quite understand.

              «_Superman_» I love work. It gives me something to do between weekends.

              M Offline
              M Offline
              Madhu Nair 0
              wrote on last edited by
              #9

              :-D Yes it is! :sigh:

              1 Reply Last reply
              0
              • _ _Superman_

                Your last post was very confusing. I didn't quite understand.

                «_Superman_» I love work. It gives me something to do between weekends.

                P Offline
                P Offline
                Pankaj D Dubey
                wrote on last edited by
                #10

                sorry for the same... fopen("some_file.txt","r"); // opening the text file to read Search(fp_mt2, "Text: 2", "xyz"); // search string xyz after string Text for(i = 0; i < 10; i++) // reading 10 strings from 10 lines { // (starting string from each line) fgets(line_buffer, 200, fp_mt2); // reading a line here j=0; while(line_buffer[j]!=':') // starts reading after ':' { j++; } j = j + 2; mt2[i] = line_buffer[j]; // storing the string in an array } m_txt1 = mt2[0]; // output: displaying first string m_txt2 = mt2[1]; // output: displaying second string .............. .............. m_txt10 = mt2[9]; m_txt is the textbox. now, i want to read a complete string but i am getting only first character of every string of every line. where each string carry 2 or 3 characters. would u please help me further, now ?

                French is the language of love, for everything else there is c++ ...(anonymous)

                C _ 2 Replies Last reply
                0
                • P Pankaj D Dubey

                  sorry for the same... fopen("some_file.txt","r"); // opening the text file to read Search(fp_mt2, "Text: 2", "xyz"); // search string xyz after string Text for(i = 0; i < 10; i++) // reading 10 strings from 10 lines { // (starting string from each line) fgets(line_buffer, 200, fp_mt2); // reading a line here j=0; while(line_buffer[j]!=':') // starts reading after ':' { j++; } j = j + 2; mt2[i] = line_buffer[j]; // storing the string in an array } m_txt1 = mt2[0]; // output: displaying first string m_txt2 = mt2[1]; // output: displaying second string .............. .............. m_txt10 = mt2[9]; m_txt is the textbox. now, i want to read a complete string but i am getting only first character of every string of every line. where each string carry 2 or 3 characters. would u please help me further, now ?

                  French is the language of love, for everything else there is c++ ...(anonymous)

                  C Offline
                  C Offline
                  Chandrasekharan P
                  wrote on last edited by
                  #11

                  Send an example of your text file. I don't think people here has understood your file format.

                  1 Reply Last reply
                  0
                  • P Pankaj D Dubey

                    sorry for the same... fopen("some_file.txt","r"); // opening the text file to read Search(fp_mt2, "Text: 2", "xyz"); // search string xyz after string Text for(i = 0; i < 10; i++) // reading 10 strings from 10 lines { // (starting string from each line) fgets(line_buffer, 200, fp_mt2); // reading a line here j=0; while(line_buffer[j]!=':') // starts reading after ':' { j++; } j = j + 2; mt2[i] = line_buffer[j]; // storing the string in an array } m_txt1 = mt2[0]; // output: displaying first string m_txt2 = mt2[1]; // output: displaying second string .............. .............. m_txt10 = mt2[9]; m_txt is the textbox. now, i want to read a complete string but i am getting only first character of every string of every line. where each string carry 2 or 3 characters. would u please help me further, now ?

                    French is the language of love, for everything else there is c++ ...(anonymous)

                    _ Offline
                    _ Offline
                    _Superman_
                    wrote on last edited by
                    #12

                    And how is mt2 declared? Also how are m_txt1, m_txt2 etc. declared?

                    «_Superman_» I love work. It gives me something to do between weekends.

                    R P 2 Replies Last reply
                    0
                    • _ _Superman_

                      And how is mt2 declared? Also how are m_txt1, m_txt2 etc. declared?

                      «_Superman_» I love work. It gives me something to do between weekends.

                      R Offline
                      R Offline
                      Rajesh R Subramanian
                      wrote on last edited by
                      #13

                      I'm giving you a 5 for your tolerance. :)

                      It is a crappy thing, but it's life -^ Carlo Pallini

                      _ 1 Reply Last reply
                      0
                      • _ _Superman_

                        And how is mt2 declared? Also how are m_txt1, m_txt2 etc. declared?

                        «_Superman_» I love work. It gives me something to do between weekends.

                        P Offline
                        P Offline
                        Pankaj D Dubey
                        wrote on last edited by
                        #14

                        Send an example of your text file. I don't think people here has understood your file format.... (from ur previous post) #Its a text file(notepad.txt) Text: 2 Parity: fad90 xyz: 01110000 00000000 00000100 10110000 00000010 00000000 00000000 00000000 00001001 01100000 01000101 00000000 00000000 00000000 11011001 00010000 00000000 00000000 00001111 01111100 11101100 01001110 11101101 11011110 11101101 11101110 1101 ABCD: 1 EFGH: 3 Correction[ 1 ]: 0 (0, 0m) Correction[ 2 ]: 4b (75, 9.375m) Correction[ 3 ]: 2 (2, 0.25m) Correction[ 4 ]: 0 (0, 0m) Correction[ 5 ]: 0 (0, 0m) Correction[ 6 ]: 96 (150, 18.75m) Correction[ 7 ]: 45 (69, 8.625m) Correction[ 8 ]: 0 (0, 0m) Correction[ 9 ]: 0 (0, 0m) Correction[ 10 ]: d91 (3473, -77.875m) Correction[ 11 ]: 0 (0, 0m) Correction[ 12 ]: 0 (0, 0m) Correction[ 13 ]: f7c (3964, -16.5m) I am only getting first character after ':'(not reading newline character) every time but getting, for ex: 4(instead of 4b), d(instead of d91) & so on. mt2 is declared as: char mt2[15]; m_txt1, m_txt2 are the textboxes takes Value(not control) and declared as type CString. Hope this much info. will be sufficient for you people. Even i am trying for the same and hope to get it right soon. Thank you all once again for showing interest in my problem. (Plz follow the previous link to check the code)

                        French is the language of love, for everything else there is c++ ...(anonymous)

                        _ 1 Reply Last reply
                        0
                        • R Rajesh R Subramanian

                          I'm giving you a 5 for your tolerance. :)

                          It is a crappy thing, but it's life -^ Carlo Pallini

                          _ Offline
                          _ Offline
                          _Superman_
                          wrote on last edited by
                          #15

                          Thank you... Thank you... Thank you... Thank you... Thank you...

                          «_Superman_» I love work. It gives me something to do between weekends.

                          1 Reply Last reply
                          0
                          • P Pankaj D Dubey

                            Send an example of your text file. I don't think people here has understood your file format.... (from ur previous post) #Its a text file(notepad.txt) Text: 2 Parity: fad90 xyz: 01110000 00000000 00000100 10110000 00000010 00000000 00000000 00000000 00001001 01100000 01000101 00000000 00000000 00000000 11011001 00010000 00000000 00000000 00001111 01111100 11101100 01001110 11101101 11011110 11101101 11101110 1101 ABCD: 1 EFGH: 3 Correction[ 1 ]: 0 (0, 0m) Correction[ 2 ]: 4b (75, 9.375m) Correction[ 3 ]: 2 (2, 0.25m) Correction[ 4 ]: 0 (0, 0m) Correction[ 5 ]: 0 (0, 0m) Correction[ 6 ]: 96 (150, 18.75m) Correction[ 7 ]: 45 (69, 8.625m) Correction[ 8 ]: 0 (0, 0m) Correction[ 9 ]: 0 (0, 0m) Correction[ 10 ]: d91 (3473, -77.875m) Correction[ 11 ]: 0 (0, 0m) Correction[ 12 ]: 0 (0, 0m) Correction[ 13 ]: f7c (3964, -16.5m) I am only getting first character after ':'(not reading newline character) every time but getting, for ex: 4(instead of 4b), d(instead of d91) & so on. mt2 is declared as: char mt2[15]; m_txt1, m_txt2 are the textboxes takes Value(not control) and declared as type CString. Hope this much info. will be sufficient for you people. Even i am trying for the same and hope to get it right soon. Thank you all once again for showing interest in my problem. (Plz follow the previous link to check the code)

                            French is the language of love, for everything else there is c++ ...(anonymous)

                            _ Offline
                            _ Offline
                            _Superman_
                            wrote on last edited by
                            #16

                            dubeypankaj wrote:

                            mt2 is declared as: char mt2[15];

                            This can store only 1 string. This needs to become char mt2[15][1024]; In fact I recommend CStringArray.

                            dubeypankaj wrote:

                            mt2[i] = line_buffer[j]; // storing the string in an array

                            You cannot assign a string like this for a character array. Use strcpy_s. You can use = if you are using CString[] or CStringArray.

                            «_Superman_» I love work. It gives me something to do between weekends.

                            P 1 Reply Last reply
                            0
                            • _ _Superman_

                              dubeypankaj wrote:

                              mt2 is declared as: char mt2[15];

                              This can store only 1 string. This needs to become char mt2[15][1024]; In fact I recommend CStringArray.

                              dubeypankaj wrote:

                              mt2[i] = line_buffer[j]; // storing the string in an array

                              You cannot assign a string like this for a character array. Use strcpy_s. You can use = if you are using CString[] or CStringArray.

                              «_Superman_» I love work. It gives me something to do between weekends.

                              P Offline
                              P Offline
                              Pankaj D Dubey
                              wrote on last edited by
                              #17

                              Thank you. Thank you very much for ur support. And ofcourse thank you for tolerating me as well..(as commented by Rajesh)

                              French is the language of love, for everything else there is c++ ...(anonymous)

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups