소켓과 시리얼을 동시에 하고 싶습니다.

skrkfql의 이미지

일단 그냥 두개를 겹쳐서 프로그래밍 했더니

error C2731: 'main' : function cannot be overloaded 에러가 뜨네요
main이 두개라서 뜨는 것 같은데 이걸 어떻게 하면 해결할 수 있을까요?

include랑 main이 나오는 함수만 좀 써보자면

#include<stdio.h>
#include<winsock2.h>
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#define BUFSIZE 100			//버퍼사이즈 설정
 
 
#pragma comment(lib,"wsock32.lib")
 
void main(void)
 
.............
int main(int argc, char* argv[])

main안에를
(void, int argc, char*argv[])로 써서 합쳐버려도 되는걸까요?

익명 사용자의 이미지

학교숙제는 학교에서 하시는게 어떨까요?

jachin의 이미지

일단 써둔 헤더파일이 각각 어떤 역할을 하는지 알고는 있나요?

stdio.h 파일은 Standard I/O 헤더파일이라고 합니다. 표준 입출력 관련 라이브러리의 선언 파일이지요.
windows.h 파일은 Windows 의 API(Application Programming Interface) 헤더 파일입니다. 윈도우즈 환경에서 그래픽 인터페이스를 갖춘 프로그램을 만들기 위해, 윈도우즈 커널과 통신하기 위한 기본 기능을 정의해 둔 파일이지요.
stdlib.h 파일은 Standard Library, 표준라이브러리라고 해서 모든 OS 환경, 컴퓨터에서 기본으로 사용하는 함수들을 모아둔 라이브러리입니다.
winsock.h 파일은 Windows Socket 라이브러리, 즉 네트워크 통신을 하기 위한 기능의 라이브러리를 사용할 수 있도록 함수를 선언해 놓은 파일입니다.

이렇게 설명해도 모르실거라 생각합니다.

#include <stdio.h> 행을 두 번이나 쓸 필요도 없지만, windows.h 는 stdio.h, stdlib.h 를 내부에서 호출하여 사용하기 때문에 일부러 stdio.h, stdlib.h 를 포함할 필요는 없습니다.
그리고 main() 함수는 프로그램에 딱 하나만 있는 '주요 함수'입니다. void main(void) 와 int main(int argc, char* argv[])는 중복 선언이라서 컴파일조차 할 수 없습니다.
void main(void)는 프로그램에 전달받을 인자가 없다는 이야기이고, int main(int argc, char* argv[]) 구문은 '이 프로그램은 종료할 때, 프로세스 ID 값을 반환할 것이고, 실행 전, argc 갯수 만큼 argv 안의 문자열을 받아서 처리할 것이다.' 라는 의미입니다. 당연히 windows.h 를 쓴다면 후자의 선언을 써야 하겠지요.

윈도우즈 프로그램도 모르고, 소켓 프로그래밍도 모르고, 표준 C 문법조차 이해하지 못했는데, 벌써부터 무엇을 하고 싶다고 아무렇게나 붙이면 안되겠죠? :)

익명 사용자의 이미지

뭘하든 상관없나요?
예를 들면 시리얼 값을 소켓으로 날린다던지? 소켓내용을 시리얼로 보여준다던지?
앞뒤 맞게 말해보시죠

나빌레라의 이미지

기초부터 공부하셔야 할 듯...

----------------------
얇은 사 하이얀 고깔은 고이 접어서 나빌레라

익명 사용자의 이미지

jachine 님께서 답변을 친절히 달아주셨지만..

사실 이런것은 질문거리도 못됩니다.

왜냐하면 검색을 하면 충분히 답을 얻을수있는 내용이기 때문이죠.

http://www.winapi.co.kr 을 들어가보셔도되구요..

관심이있다면, 책과 두뇌의 고난을 통해 충분히 생각할수도 있는 문제들입니다.

질문하는것이 모두 공부를 열심히하는것은아닙니다. 검색하고 못찾았을때 생각해도 못찾았을때 그럴때 게시판에 질문하세여.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.