VB6 구닥다리라 문제가 참 많다. 할 수 없이 쓰는데 돌겠다.ㅠ 0D 0A 개행문자 문제...

vbCr + vbLf
0A 0D
Dim nextLine As String
    Dim i As Integer
    Dim FileNum As Integer
    Dim a As String
    FileNum = FreeFile
Open "e:\data\code\VBStockFuture.csv" For Input As #FileNum
    i = 0
    Do Until EOF(FileNum)
        ReDim Preserve StockCode(i)
        Line Input #FileNum, nextLine
        StockFutureCode(i) = nextLine
        i = i + 1
    Loop
Err:
    Close FileNum

어디서 이런걸 주서다가 쓰려고 하는데...
이렇게 하면 한줄씩 읽을 수 있다고 했는데... 죽어도 안되서
헥스코드로 열어봤더니 개행문자가 0D 0A로 돼 있다
여긴 문제가 없는데...

UTF8로 저장한 문선데.. 그게 문제인건가
제대로 인식을 못하는 것 같다
파일을 통째로 읽어서 저장을 해 버린다
VB6은 UTF8이건 뭐건 헥스에서 개행문자를 발견했으면 개행을 해야지 0D 0A인데 그걸 왜 이렇게 헤매는건지

vbCr은 먼 음표모양이고
vbLf는 다이아1개짜리 카드모양.. 0D 0A로 뜬다

Line저걸로 해서 일단 배열로 가져오고 
저장문자배열 = Split(문자열,vbLf)
로 처리했다
Line Input #FileNum, nextLine
StockCode = Split(nextLine, vbLf)

이것도 편법인지는 모르겠는데 참... 할줄도 모르는거가지고 고생했네

문자, 문자열 함수, 표준 입출력 시스템, 문자 출력 함수, 문자 입력 함수

스트림과 데이터 전송

표준 입출력 스트림
stdin -- 표준 입력 스트림 -- 키보드
stdout --
표준 출력 스트림 -- 모니터
stderr -- 표준 에러 스트림 -- 모니터

문자 출력 함수
#include
<stdio.h>
int putchar (int c);
int fputc (int c, FILE*
stream);

문자 입력 함수
#include <stdio.h>
int
getchar(void);
int fgetc(FILE* stream);

EOF
함수 호출 시 에러가
발생하면 EOF가 반환
fgetc getchar 함수가 파일의 끝에 도달하는 경우에 EOF가 반환
키보드로부터 입력을
받을 경우에는 Ctrl-Z 키의 입력을 파일의 끝이라고 정의

문자열 출력 함수
#include
<stdio.h>
int puts(const char* s);
int puts(const shar* s,
FILE* stream);

문자열 입력 함수
#include <stdio.h>
char*
gets(char* s);
char* fgets(char* s, int n, FILE* stream);

fgets
함수는 입력받을 수 있는 최대 문자열의 길이 n을 초과하는 문자열이 입력되는 경우에는 n-1개까지의 문자만 입력을 받고,
마지막에 NULL 문자열을 삽입해준다.

버퍼를 비우는 fflush 함수
#include<stdio.h>
int
fflush(FILE* stream);
// fflush의 용도는 열혈강의c 458p

문자열 조작 함수

문자열의 길이 반환 strlen
#include <string.h>
size_t strlen(const
char* s)

//size_t는 unsigned int로 보면 된다. 열혈강의 460p

12345

력된 문자열의 길이 : 6
C Program
문자열의 길이 : 10

문자열을 한칸씩 더 세는 이유는
Enter키까지 포함되었기 때문
1 2 3 4 5 \n 로 6개

문자열 복사 strcpy strncpy
#include
<string.h>
char* strcpy(char* dest, const char* src);

예...
strcpy(str2, str1); // str1의 문자열을 str2에 복사...
str2가 같거나 커야함.. 작으면
에러가날 수 있음

#include<string.h>
char* strncpy(char* dest,
const char* src, size_t n)
예.... strncpy(str2, str1, sizeof(str2)-1);


자열을 추가하는 strcat  strncat 함수
#include <string.h>
char*
strcat(char* dest, const char* src);
src의 문자열을 dest로 전달된 문자열 뒤에 연결하는
기능
예.... strcar(str1, str2)

#include <stdio.h>
char*
strncat(char* dest, const char* src, size_t n);
예... strncat(str1,
str2, i);

#include <string.h>
int strcmp(const char* s1,
const char* s2);
s1과 s2를 비교하여 더 큰 문자열,,,(사전순서대로 뒤에있는게 큰거)을 리턴
0<x 
s1이 s2보다 큰 경우
0=x  s1과 s2가 같은 경우
0>x  s1보다 s2가 큰 경우

#include
<string.h>
int strncmp(const char* s1, const char* s2, size_t
n);