나는 C를 배우려고 노력 중입니다. 내가 sscanf를C sscanf 이해하는데 도움이 필요합니다.
sscanf(val1,":%[^ ] %s %s %[^\n]%*[\n\r]%n", val2 , val3 , val4 , val5 ,&n);
에 대해 다음 코드를 찾고 있어요하지만 그것을 이해하는 문제가 많이 보내고있어, 난 sscanf를 대한 온라인을 검토 한 결과, 나는 val1과의 문자 배열을 이해하는 것과 다진됩니다 val2, val3, val4, val5 및 & n으로 증가합니다.
:%[^ ] %s %s %[^\n]%*[\n\r]%n
내가 정말 사람이 할 수있는 희망 된 % s의 부품하지만 너무 확실하지 않다 나머지에 따라 처단됩니다 문자열을 믿고있어 :하지만 확실히이 비트를 이해하지 못하는 예제 문자열을 말할 수있게 해주고 어떻게 다른 값으로 변환 할 수 있을까요? 감사합니다. 0 개 이상의 공백 문자의 시퀀스가 소비 될 필요가 있음을 나타내고, 존재하지
:%[^ ] %s %s %[^\n]%*[\n\r]%n
^^^^ ^^^^
| | | | | | | |
| | | | | | | +-- the number of characters read so far
| | | | | | +------ \n or \r
| | | | | +---------- read and ignore this portion of the input
| | | | +-------------- Read string up to \n; should be [^\n\r]
| | | +-------------------- Read a string
| | +---------------------- Read a string
| +--------------------------- Read a string up to a space character
+------------------------------ Read a ':' character
단일 공백 출력 변수 중 하나에 배치되는 다음과 같이
RTFM. 'scanf '문서는'['지정자가 무엇을하는지 설명합니다. –
http://man7.org/linux/man-pages/man3/scanf.3.html 그 man 페이지보다 훨씬 더 명백 할 수는 없습니다. – Deduplicator