나는 직장에서 구형 C 코드 기반을 가지고 있으며 아래의 스타일에서 많은 함수 구현을 발견한다. DoStuff 사용C가 매개 변수를 과도하게 사용합니까?
char *DoStuff(char *inPtr, char *outPtr, char *error, long *amount)
{
*error = 0;
*amount = 0;
// Read bytes from inPtr and decode them as a long storing in amount
// before returning as a formatted string in outPtr.
return (outPtr);
}
:
myOutPtr = DoStuff(myInPtr, myOutPtr, myError, &myAmount);
을 나는 꽤 둔한 발견하고 나는 내가하고 결국 비슷한 기능을 구현해야 할 때 사용 NewDoStuff
long NewDoStuff(char *inPtr, char *error)
{
long amount = 0;
*error = 0;
// Read bytes from inPtr and decode them as a long storing in amount.
return amount;
}
을 :
myAmount = NewDoStuff(myInPtr, myError);
myOutPtr += sprintf (myOutPtr, "%d", myAmount);
나는 할 수 없다. p가 있지만 위 예제에서 누락 된 것이 있다면 그 유형의 접근 방식을 사용하는 것이 좋은 이유입니까?
+ + sprintf는 무엇입니까? – Uri
http://msdn.microsoft.com/en-us/library/ybk95axf(VS.71).aspx는 문자열을 쓰고 포인터를 앞으로 쓴 바이트 수만큼 앞으로 이동합니다. – sipwiz
=가 아니고 + =가 아니어야합니까? –