2010-03-01 8 views
14

문제점 :.net에 대한 printf의 무료 구현이 있습니까?

.net 프레임 워크 용 printf/sprintf 무료 구현이 있습니까? 위의 링크 이외에는 아무것도 찾을 수 없습니다.

감사합니다.

업데이트 : 당신은 아무것도 찾을 수 없습니다에도 도움을

감사합니다. 즉, 직접해야 할 필요가 있음을 의미합니다. (나는 그것을 피하려고했으나 오 ...)
기본 형식 문자열을 지원하는 sprintf 함수를 작성 했으므로 여기에서 찾을 수 있습니다 : https://sourceforge.net/projects/printfnet/. 내가 할 수만 있다면 완벽하게 구현하려고 노력할 것이다.

+1

왜 이렇게 많은 upvotes가 있는지 모르겠다. Regex를 사용하는 구현은 보통 30-50 줄의 사소한 코드에서 수행 될 수 있습니다 ... – leppie

+0

정말 왜 궁금 해서요. 왜 절대적으로 printf가 필요합니까? – swilliams

+0

CPOL 라이센스를 사용할 수없는 이유는 무엇입니까? GPL 요구 사항에 어떻게 간섭하는지 알 수 없습니다. – leppie

답변

2

관리되는 C++ 래퍼는 어떻습니까? 확실히 거기에서 printf를 부를 수 있습니다.

+0

Silverlight도 대상으로하므로 기본 함수를 호출 할 수 없습니다. – Hali

4

난 당신이 원하는 생각 : http://www.codeproject.com/KB/printing/PrintfImplementationinCS.aspx

그것은 C 번호에 C printf 기능의 포트의 무료 구현입니다. 저자는 현재 printf의 모든 기능이 현재 지원되는 것은 아니라는 점을 지적합니다. 그러나 이것이 좋은 출발점 일 수 있습니다.

편집 : 해당 버전의 라이센스가 필요한 것과 호환되지 않습니다.이 경우 다음 블로그 기사에서 설명하는대로 관리되지 않는 버전을 직접 호출하는 것이 좋습니다. 아마도 가장 호환되고 안전한 방법 일 것입니다. 그것은 다음과 같습니다

http://community.bartdesmet.net/blogs/bart/archive/2006/09/28/4473.aspx

당신이에서 관리되지 않는 printf를 호출 할 필요있다 : 즉, 그것을 잘라하지 않는 경우

, 여기에서 실제로 관리되지 않는 printf 함수를 호출에 대한 블로그 기사입니다 C# :

+0

VS2008/2010에 __arglist를 입력하면 IDE가 손상 될 수 있습니다. MS는 다음 메이저 버전까지 수정하지 않을 것입니다 ... – leppie

+0

고마워요,하지만 실버 라이트도 대상으로하고 있습니다. 그래서 네이티브 함수를 호출 할 수 없습니다. – Hali

4

printf의 GPL 호환 구현을 찾지 못하는 이유는 무엇입니까? C로 변환하고 .NET으로 포팅 하시겠습니까?

+0

LGPL이 충분하다면 glibc의 소스 코드는 다음과 같습니다 : http://ftp.gnu.org/gnu/glibc/ - stdio-common은 vfprintf.c의 vprintf 함수를 호출하는 printf.c를 포함합니다. 꽤 털이 코드 ... –

+0

절대적으로,이 아이디어를 배제하는 것은 아니지만, 제가 생각한 구현 사례는 C#으로 이식하기에는 부적절한 것 이상이었습니다. -) 기존 테스트 스위트를 찾는 것이 더 쉬울 수도 있고, 처음부터 테스트 스위트를 어떻게 든 쉽게 프로그램 할 수도 있습니다. –

관련 문제