我正在做一个用于评估和分析传递函数的小应用程序。尽管这个主题在某些人看来很无聊,但我希望它至少看起来更酷、更专业、更棒等等……所以:
- 第 1 步:给我系数![一堆数字]
- 第 2 步:我将写出带有上标的多项式。[字符串中的一堆数字]
因此,我编写了一个小 C 解析器来打印具有体面格式的多项式,因为我需要一个wchar_t
即时连接的字符串。字符串完成后,我快速尝试在控制台上打印它以检查一切是否正常并继续。容易吧?哎呀,我没那么幸运……
wchar_t *polynomial_description( double *polyArray, char size, char var ){
wchar_t *descriptionString, temp[100];
int len, counter = 0;
SUPERSCRIPT superscript;
descriptionString = (wchar_t *) malloc(sizeof(wchar_t) * 2);
descriptionString[0] = '\0';
while( counter < size ){
superscript = polynomial_utilities_superscript( size - counter );
len = swprintf(temp, 100, L"%2.2f%c%c +", polyArray[counter], var, superscript);
printf("temp size: %d\n", len);
descriptionString = (wchar_t *) realloc(descriptionString, sizeof(wchar_t) * (wcslen(descriptionString) + len + 1) );
wcscat(descriptionString, temp);
counter++;
}
//fflush(stdout); //Already tried this
len = wprintf(L"%ls\n", descriptionString);
len = printf("%ls**\n", descriptionString);
len = fprintf(stdout, "%ls*\n", descriptionString);
len = printf("FFS!! Print something!");
return descriptionString;
}
在运行期间,我们可以看到temp size: 8
仅在调试时打印了预期的次数,如果我运行程序,每次运行我都会得到任意数量的打印。但在那之后,正如标题所述,wprintf、printf 和 fprintf 不打印任何内容,但len
在每次调用后都会更改其大小。
在调用者函数中,(application:(UIApplication *)application didFinishLaunchingWithOptions:
测试时)我放了一个 NSLog 来打印返回字符串,我什至没有得到任何东西,甚至是 Log 部分。
发生了什么?我完全不知所措。
顺便说一句,我在 XCode 4.2 上。