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. structure to file [REMAIN UNSOLVED] [CLOSED]

structure to file [REMAIN UNSOLVED] [CLOSED]

Scheduled Pinned Locked Moved C / C++ / MFC
tutorial
22 Posts 7 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.
  • G goldenrose9

    #include #include using namespace std;

    struct Detail{
    wchar_t Name[25];
    long Age;
    wchar_t Address[100];
    };

    struct Student{
    Detail st;
    DWORD code;
    };

    int main()
    {
    Student st;

    }

    how to write and read structure to a file using WriteFile() and ReadFile().:confused:

    Some Day I Will Prove MySelf :: GOLD

    modified on Saturday, February 19, 2011 9:43 AM

    L Offline
    L Offline
    Lost User
    wrote on last edited by
    #2

    Something like

    DWORD dwWritten;
    BOOL result = WriteFile(hFile, &st, sizeof st, &dwWritten, NULL);

    Use a similar form to read it back.

    I must get a clever new signature for 2011.

    G 1 Reply Last reply
    0
    • G goldenrose9

      #include #include using namespace std;

      struct Detail{
      wchar_t Name[25];
      long Age;
      wchar_t Address[100];
      };

      struct Student{
      Detail st;
      DWORD code;
      };

      int main()
      {
      Student st;

      }

      how to write and read structure to a file using WriteFile() and ReadFile().:confused:

      Some Day I Will Prove MySelf :: GOLD

      modified on Saturday, February 19, 2011 9:43 AM

      J Offline
      J Offline
      jk chan
      wrote on last edited by
      #3

      Student st; WriteFile(file,&st,sizeof(st),&written,0); open file using Createfile API, or you can use fopen("file","wb"); and fwrite C run time APIS. is it so complicated? :)

      If u can Dream... U can do it

      G 1 Reply Last reply
      0
      • J jk chan

        Student st; WriteFile(file,&st,sizeof(st),&written,0); open file using Createfile API, or you can use fopen("file","wb"); and fwrite C run time APIS. is it so complicated? :)

        If u can Dream... U can do it

        G Offline
        G Offline
        goldenrose9
        wrote on last edited by
        #4

        jk chan wrote:

        you can use fopen("file","wb"); and fwrite C run time APIS. is it so complicated?

        i know how to read and write using fread and fwrite. But i want my program to use WriteFile() and ReadFile()

        Some Day I Will Prove MySelf :: GOLD

        1 Reply Last reply
        0
        • L Lost User

          Something like

          DWORD dwWritten;
          BOOL result = WriteFile(hFile, &st, sizeof st, &dwWritten, NULL);

          Use a similar form to read it back.

          I must get a clever new signature for 2011.

          G Offline
          G Offline
          goldenrose9
          wrote on last edited by
          #5

          #include <windows.h>
          #include <conio.h>
          #include <iostream>

          using namespace std;

          struct Detail{
          wchar_t Name[25];
          long Age;
          wchar_t Address[100];
          };

          struct Student{
          Detail detail;
          DWORD code;
          };

          int main()
          {

          DWORD BytesWritten=0, BytesRead=0;
          Student st,read;
          
          st.code =1;
          st.detail.Name = TEXT("Williams");
          st.detail.Age = 25;
          st.detail.Address = TEXT("B-33 Lane 5");
          
          
          HANDLE hFile = CreateFile(TEXT("C:\\\\demo.txt"),GENERIC\_READ | GENERIC\_WRITE,0,0,OPEN\_ALWAYS,FILE\_ATTRIBUTE\_NORMAL,0);
          if (hFile != INVALID\_HANDLE\_VALUE)
          {
          	WriteFile(hFile,&st,sizeof(Student),&BytesWritten,0);
          	ReadFile(hFile,&read,sizeof(Student),&BytesRead,0);
          	CloseHandle(hFile);
          
          	cout<<read.code<<endl;
          	cout<<read.detail.Name; 
          }
          else
          {
          	cout<<"Error! Cannot Open File";
          	exit(1);
          }
          \_getche();
          return (0);
          

          }

          when executing this code following error occurs.

          Error 1 error C2440: '=' : cannot convert from 'const wchar_t [9]' to 'wchar_t [25]'
          Error 2 error C2440: '=' : cannot convert from 'const wchar_t [12]' to 'wchar_t [100]'

          Some Day I Will Prove MySelf :: GOLD

          D A L 3 Replies Last reply
          0
          • G goldenrose9

            #include <windows.h>
            #include <conio.h>
            #include <iostream>

            using namespace std;

            struct Detail{
            wchar_t Name[25];
            long Age;
            wchar_t Address[100];
            };

            struct Student{
            Detail detail;
            DWORD code;
            };

            int main()
            {

            DWORD BytesWritten=0, BytesRead=0;
            Student st,read;
            
            st.code =1;
            st.detail.Name = TEXT("Williams");
            st.detail.Age = 25;
            st.detail.Address = TEXT("B-33 Lane 5");
            
            
            HANDLE hFile = CreateFile(TEXT("C:\\\\demo.txt"),GENERIC\_READ | GENERIC\_WRITE,0,0,OPEN\_ALWAYS,FILE\_ATTRIBUTE\_NORMAL,0);
            if (hFile != INVALID\_HANDLE\_VALUE)
            {
            	WriteFile(hFile,&st,sizeof(Student),&BytesWritten,0);
            	ReadFile(hFile,&read,sizeof(Student),&BytesRead,0);
            	CloseHandle(hFile);
            
            	cout<<read.code<<endl;
            	cout<<read.detail.Name; 
            }
            else
            {
            	cout<<"Error! Cannot Open File";
            	exit(1);
            }
            \_getche();
            return (0);
            

            }

            when executing this code following error occurs.

            Error 1 error C2440: '=' : cannot convert from 'const wchar_t [9]' to 'wchar_t [25]'
            Error 2 error C2440: '=' : cannot convert from 'const wchar_t [12]' to 'wchar_t [100]'

            Some Day I Will Prove MySelf :: GOLD

            D Offline
            D Offline
            David Crow
            wrote on last edited by
            #6

            goldenrose9 wrote:

            st.detail.Name = TEXT("Williams"); st.detail.Address = TEXT("B-33 Lane 5");

            You probably meant to use _tcscpy() here instead.

            "One man's wage rise is another man's price increase." - Harold Wilson

            "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

            "Man who follows car will be exhausted." - Confucius

            G 1 Reply Last reply
            0
            • G goldenrose9

              #include <windows.h>
              #include <conio.h>
              #include <iostream>

              using namespace std;

              struct Detail{
              wchar_t Name[25];
              long Age;
              wchar_t Address[100];
              };

              struct Student{
              Detail detail;
              DWORD code;
              };

              int main()
              {

              DWORD BytesWritten=0, BytesRead=0;
              Student st,read;
              
              st.code =1;
              st.detail.Name = TEXT("Williams");
              st.detail.Age = 25;
              st.detail.Address = TEXT("B-33 Lane 5");
              
              
              HANDLE hFile = CreateFile(TEXT("C:\\\\demo.txt"),GENERIC\_READ | GENERIC\_WRITE,0,0,OPEN\_ALWAYS,FILE\_ATTRIBUTE\_NORMAL,0);
              if (hFile != INVALID\_HANDLE\_VALUE)
              {
              	WriteFile(hFile,&st,sizeof(Student),&BytesWritten,0);
              	ReadFile(hFile,&read,sizeof(Student),&BytesRead,0);
              	CloseHandle(hFile);
              
              	cout<<read.code<<endl;
              	cout<<read.detail.Name; 
              }
              else
              {
              	cout<<"Error! Cannot Open File";
              	exit(1);
              }
              \_getche();
              return (0);
              

              }

              when executing this code following error occurs.

              Error 1 error C2440: '=' : cannot convert from 'const wchar_t [9]' to 'wchar_t [25]'
              Error 2 error C2440: '=' : cannot convert from 'const wchar_t [12]' to 'wchar_t [100]'

              Some Day I Will Prove MySelf :: GOLD

              A Offline
              A Offline
              Alain Rist
              wrote on last edited by
              #7

              Hi,

              goldenrose9 wrote:

              when executing this code following error occurs.

              When compiling is not when executing. 1 You do not correctly initialize your st structure, change to:

              Student 
              	st = {{TEXT("Williams"), 25, TEXT("B-33 Lane 5")}, 1 },
              	read = {0};	
              

              2 Your code will then compile but not to your expected result, you must set the file pointer to FILE_BEGIN before reading:

              	WriteFile(hFile,&st,sizeof(Student),&BytesWritten,0);
              	SetFilePointer(hFile, 0, 0, FILE\_BEGIN);
              	ReadFile(hFile,&read,sizeof(Student),&BytesRead,0);		
              

              cheers, AR

              When the wise (person) points at the moon the fool looks at the finger (Chinese proverb)

              1 Reply Last reply
              0
              • D David Crow

                goldenrose9 wrote:

                st.detail.Name = TEXT("Williams"); st.detail.Address = TEXT("B-33 Lane 5");

                You probably meant to use _tcscpy() here instead.

                "One man's wage rise is another man's price increase." - Harold Wilson

                "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                "Man who follows car will be exhausted." - Confucius

                G Offline
                G Offline
                goldenrose9
                wrote on last edited by
                #8

                DavidCrow wrote:

                You probably meant to use _tcscpy() here instead.

                This works like a charm

                _tcscpy(st.detail.Name,TEXT("Williams"));
                _tcscpy(st.detail.Address,TEXT("B-33 Lane 5"));

                But another problem arises cannot set values in long and DWORD variables

                struct Detail{
                wchar_t Name[25];
                long Age;
                wchar_t Address[100];
                };

                struct Student{
                Detail detail;
                DWORD code;
                };

                Student st;
                st.code = 1;

                but st.code stores a default value of -16843010 and same problem with long data type st.Details.Age = 25 stores 65278, instead of 25. :confused: :wtf: MODIFIED: _tcscpy_s() now works. i was making a small mistake. Now it works..

                _tcscpy_s(st.detail.Name,_tcslen(st.detail.Name),TEXT("WILLIAMS"));

                Some Day I Will Prove MySelf :: GOLD

                modified on Wednesday, February 16, 2011 10:43 PM

                D S 3 Replies Last reply
                0
                • G goldenrose9

                  DavidCrow wrote:

                  You probably meant to use _tcscpy() here instead.

                  This works like a charm

                  _tcscpy(st.detail.Name,TEXT("Williams"));
                  _tcscpy(st.detail.Address,TEXT("B-33 Lane 5"));

                  But another problem arises cannot set values in long and DWORD variables

                  struct Detail{
                  wchar_t Name[25];
                  long Age;
                  wchar_t Address[100];
                  };

                  struct Student{
                  Detail detail;
                  DWORD code;
                  };

                  Student st;
                  st.code = 1;

                  but st.code stores a default value of -16843010 and same problem with long data type st.Details.Age = 25 stores 65278, instead of 25. :confused: :wtf: MODIFIED: _tcscpy_s() now works. i was making a small mistake. Now it works..

                  _tcscpy_s(st.detail.Name,_tcslen(st.detail.Name),TEXT("WILLIAMS"));

                  Some Day I Will Prove MySelf :: GOLD

                  modified on Wednesday, February 16, 2011 10:43 PM

                  D Offline
                  D Offline
                  David Crow
                  wrote on last edited by
                  #9

                  goldenrose9 wrote:

                  why error is occurring in _tcscpy_s()

                  Hard to say since you did not indicate what the error was.

                  "One man's wage rise is another man's price increase." - Harold Wilson

                  "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                  "Man who follows car will be exhausted." - Confucius

                  1 Reply Last reply
                  0
                  • G goldenrose9

                    DavidCrow wrote:

                    You probably meant to use _tcscpy() here instead.

                    This works like a charm

                    _tcscpy(st.detail.Name,TEXT("Williams"));
                    _tcscpy(st.detail.Address,TEXT("B-33 Lane 5"));

                    But another problem arises cannot set values in long and DWORD variables

                    struct Detail{
                    wchar_t Name[25];
                    long Age;
                    wchar_t Address[100];
                    };

                    struct Student{
                    Detail detail;
                    DWORD code;
                    };

                    Student st;
                    st.code = 1;

                    but st.code stores a default value of -16843010 and same problem with long data type st.Details.Age = 25 stores 65278, instead of 25. :confused: :wtf: MODIFIED: _tcscpy_s() now works. i was making a small mistake. Now it works..

                    _tcscpy_s(st.detail.Name,_tcslen(st.detail.Name),TEXT("WILLIAMS"));

                    Some Day I Will Prove MySelf :: GOLD

                    modified on Wednesday, February 16, 2011 10:43 PM

                    S Offline
                    S Offline
                    ShilpiP
                    wrote on last edited by
                    #10

                    Try ZeroMemory

                    Student st,read;
                    ZeroMemory(&st,sizeof(st));

                    I believe in LOVE AT FIRST SIGHT... Bcoz I have loved my Mother... even since I opened my eyes...(ICAN)

                    N 1 Reply Last reply
                    0
                    • G goldenrose9

                      #include <windows.h>
                      #include <conio.h>
                      #include <iostream>

                      using namespace std;

                      struct Detail{
                      wchar_t Name[25];
                      long Age;
                      wchar_t Address[100];
                      };

                      struct Student{
                      Detail detail;
                      DWORD code;
                      };

                      int main()
                      {

                      DWORD BytesWritten=0, BytesRead=0;
                      Student st,read;
                      
                      st.code =1;
                      st.detail.Name = TEXT("Williams");
                      st.detail.Age = 25;
                      st.detail.Address = TEXT("B-33 Lane 5");
                      
                      
                      HANDLE hFile = CreateFile(TEXT("C:\\\\demo.txt"),GENERIC\_READ | GENERIC\_WRITE,0,0,OPEN\_ALWAYS,FILE\_ATTRIBUTE\_NORMAL,0);
                      if (hFile != INVALID\_HANDLE\_VALUE)
                      {
                      	WriteFile(hFile,&st,sizeof(Student),&BytesWritten,0);
                      	ReadFile(hFile,&read,sizeof(Student),&BytesRead,0);
                      	CloseHandle(hFile);
                      
                      	cout<<read.code<<endl;
                      	cout<<read.detail.Name; 
                      }
                      else
                      {
                      	cout<<"Error! Cannot Open File";
                      	exit(1);
                      }
                      \_getche();
                      return (0);
                      

                      }

                      when executing this code following error occurs.

                      Error 1 error C2440: '=' : cannot convert from 'const wchar_t [9]' to 'wchar_t [25]'
                      Error 2 error C2440: '=' : cannot convert from 'const wchar_t [12]' to 'wchar_t [100]'

                      Some Day I Will Prove MySelf :: GOLD

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #11

                      st.detail.Name = TEXT("Williams");

                      You cannot copy characters in this way, you must use one of the copy methods.

                      I must get a clever new signature for 2011.

                      1 Reply Last reply
                      0
                      • S ShilpiP

                        Try ZeroMemory

                        Student st,read;
                        ZeroMemory(&st,sizeof(st));

                        I believe in LOVE AT FIRST SIGHT... Bcoz I have loved my Mother... even since I opened my eyes...(ICAN)

                        N Offline
                        N Offline
                        Niklas L
                        wrote on last edited by
                        #12

                        To OP: This is only meaningful if you don't intend to initialize every member separately.

                        home

                        1 Reply Last reply
                        0
                        • G goldenrose9

                          DavidCrow wrote:

                          You probably meant to use _tcscpy() here instead.

                          This works like a charm

                          _tcscpy(st.detail.Name,TEXT("Williams"));
                          _tcscpy(st.detail.Address,TEXT("B-33 Lane 5"));

                          But another problem arises cannot set values in long and DWORD variables

                          struct Detail{
                          wchar_t Name[25];
                          long Age;
                          wchar_t Address[100];
                          };

                          struct Student{
                          Detail detail;
                          DWORD code;
                          };

                          Student st;
                          st.code = 1;

                          but st.code stores a default value of -16843010 and same problem with long data type st.Details.Age = 25 stores 65278, instead of 25. :confused: :wtf: MODIFIED: _tcscpy_s() now works. i was making a small mistake. Now it works..

                          _tcscpy_s(st.detail.Name,_tcslen(st.detail.Name),TEXT("WILLIAMS"));

                          Some Day I Will Prove MySelf :: GOLD

                          modified on Wednesday, February 16, 2011 10:43 PM

                          D Offline
                          D Offline
                          David Crow
                          wrote on last edited by
                          #13

                          goldenrose9 wrote:

                          i was making a small mistake.

                          And you still are. _tcslen() does not tell you the size/capacity of Name, but rather how many characters it is currently holding.

                          "One man's wage rise is another man's price increase." - Harold Wilson

                          "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                          "Man who follows car will be exhausted." - Confucius

                          G 1 Reply Last reply
                          0
                          • D David Crow

                            goldenrose9 wrote:

                            i was making a small mistake.

                            And you still are. _tcslen() does not tell you the size/capacity of Name, but rather how many characters it is currently holding.

                            "One man's wage rise is another man's price increase." - Harold Wilson

                            "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                            "Man who follows car will be exhausted." - Confucius

                            G Offline
                            G Offline
                            goldenrose9
                            wrote on last edited by
                            #14

                            yes you are right. but when i use

                            _tcscpy_s(st.detail.Name,sizeof(st.detail.Name),TEXT("WILLIAMS"));

                            stack around st get corrupted. moreover when i initialize st with

                            st.code =1;
                            st.detail.Age = 25;

                            then the value is changed to

                            st.code = 4278124286
                            st.detail.Age = -16843010

                            i had intialized the st as given

                            st.code =1;
                            st.detail.Age = 25;
                            _tcscpy_s(st.detail.Name,sizeof(st.detail.Name),TEXT("WILLIAMS"));
                            _tcscpy_s(st.detail.Address,sizeof(st.detail.Address),TEXT("BB-33 LANE 5"));

                            Some Day I Will Prove MySelf :: GOLD

                            D 1 Reply Last reply
                            0
                            • G goldenrose9

                              yes you are right. but when i use

                              _tcscpy_s(st.detail.Name,sizeof(st.detail.Name),TEXT("WILLIAMS"));

                              stack around st get corrupted. moreover when i initialize st with

                              st.code =1;
                              st.detail.Age = 25;

                              then the value is changed to

                              st.code = 4278124286
                              st.detail.Age = -16843010

                              i had intialized the st as given

                              st.code =1;
                              st.detail.Age = 25;
                              _tcscpy_s(st.detail.Name,sizeof(st.detail.Name),TEXT("WILLIAMS"));
                              _tcscpy_s(st.detail.Address,sizeof(st.detail.Address),TEXT("BB-33 LANE 5"));

                              Some Day I Will Prove MySelf :: GOLD

                              D Offline
                              D Offline
                              David Crow
                              wrote on last edited by
                              #15

                              Have you considered:

                              st.code = 1;
                              st.st.Age = 25;
                              _tcscpy_s(st.st.Name, sizeof(st.st.Name), TEXT("WILLIAMS"));
                              _tcscpy_s(st.st.Address, sizeof(st.st.Address), TEXT("BB-33 LANE 5"));

                              For clarities sake, you might consider renaming the st member of Student.

                              "One man's wage rise is another man's price increase." - Harold Wilson

                              "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                              "Man who follows car will be exhausted." - Confucius

                              G 1 Reply Last reply
                              0
                              • D David Crow

                                Have you considered:

                                st.code = 1;
                                st.st.Age = 25;
                                _tcscpy_s(st.st.Name, sizeof(st.st.Name), TEXT("WILLIAMS"));
                                _tcscpy_s(st.st.Address, sizeof(st.st.Address), TEXT("BB-33 LANE 5"));

                                For clarities sake, you might consider renaming the st member of Student.

                                "One man's wage rise is another man's price increase." - Harold Wilson

                                "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                                "Man who follows car will be exhausted." - Confucius

                                G Offline
                                G Offline
                                goldenrose9
                                wrote on last edited by
                                #16

                                whenever st.code and st.st.Age is initialized with any value the result is,

                                st.code = 4278124286
                                st.detail.Age = -16843010

                                Some Day I Will Prove MySelf :: GOLD

                                D 1 Reply Last reply
                                0
                                • G goldenrose9

                                  whenever st.code and st.st.Age is initialized with any value the result is,

                                  st.code = 4278124286
                                  st.detail.Age = -16843010

                                  Some Day I Will Prove MySelf :: GOLD

                                  D Offline
                                  D Offline
                                  David Crow
                                  wrote on last edited by
                                  #17

                                  You need to look more closely at the code snippet I provided. You should not be assigning or referencing st.Detail. In your Student structure, Detail is a type of structure, not an instance of one.

                                  "One man's wage rise is another man's price increase." - Harold Wilson

                                  "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                                  "Man who follows car will be exhausted." - Confucius

                                  G 1 Reply Last reply
                                  0
                                  • D David Crow

                                    You need to look more closely at the code snippet I provided. You should not be assigning or referencing st.Detail. In your Student structure, Detail is a type of structure, not an instance of one.

                                    "One man's wage rise is another man's price increase." - Harold Wilson

                                    "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                                    "Man who follows car will be exhausted." - Confucius

                                    G Offline
                                    G Offline
                                    goldenrose9
                                    wrote on last edited by
                                    #18

                                    please give a small example. :confused:

                                    Some Day I Will Prove MySelf :: GOLD

                                    D 1 Reply Last reply
                                    0
                                    • G goldenrose9

                                      please give a small example. :confused:

                                      Some Day I Will Prove MySelf :: GOLD

                                      D Offline
                                      D Offline
                                      David Crow
                                      wrote on last edited by
                                      #19

                                      See here.

                                      "One man's wage rise is another man's price increase." - Harold Wilson

                                      "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                                      "Man who follows car will be exhausted." - Confucius

                                      G 1 Reply Last reply
                                      0
                                      • D David Crow

                                        See here.

                                        "One man's wage rise is another man's price increase." - Harold Wilson

                                        "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                                        "Man who follows car will be exhausted." - Confucius

                                        G Offline
                                        G Offline
                                        goldenrose9
                                        wrote on last edited by
                                        #20

                                        on using

                                        st.code = 1;
                                        st.st.Age = 25;
                                        _tcscpy_s(st.st.Name, sizeof(st.st.Name), TEXT("WILLIAMS"));
                                        _tcscpy_s(st.st.Address, sizeof(st.st.Address), TEXT("BB-33 LANE 5"));

                                        following error occurs.

                                        Error 1 error C2039: 'st' : is not a member of 'Student'
                                        Error 2 error C2228: left of '.Age' must have class/struct/union

                                        Some Day I Will Prove MySelf :: GOLD

                                        D 1 Reply Last reply
                                        0
                                        • G goldenrose9

                                          on using

                                          st.code = 1;
                                          st.st.Age = 25;
                                          _tcscpy_s(st.st.Name, sizeof(st.st.Name), TEXT("WILLIAMS"));
                                          _tcscpy_s(st.st.Address, sizeof(st.st.Address), TEXT("BB-33 LANE 5"));

                                          following error occurs.

                                          Error 1 error C2039: 'st' : is not a member of 'Student'
                                          Error 2 error C2228: left of '.Age' must have class/struct/union

                                          Some Day I Will Prove MySelf :: GOLD

                                          D Offline
                                          D Offline
                                          David Crow
                                          wrote on last edited by
                                          #21

                                          I just compiled your code with my changes. It compiled and ran fine.

                                          "One man's wage rise is another man's price increase." - Harold Wilson

                                          "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

                                          "Man who follows car will be exhausted." - Confucius

                                          G 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