当我做其他人在线发布的内容时,我一直得到NSData *pngData = UIImagePNGRepresentation([UIImage imageNamed:@"logo_icon_login.png"]);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"image.png"];
if ([[NSFileManager defaultManager] isWritableFileAtPath:filePath])
{
[pngData writeToFile:filePath atomically:YES];
}
else
{
NSLog(@"Not writable.");
}
的输出:
100
它似乎对我不起作用。这是我的代码:
int total = sizeof(num)/sizeof(int);
我的输出是100所以我假设没有任何东西被插入num数组?如果我打印出来int main() {
static int num[100];
int totalNum = sizeof(num)/sizeof(int);
return 0;
}
void readNumbers(int* num) {
int i = 0;
FILE *fp;
fp = fopen("/Users/Documents/hello.txt", "r");
if (fp == NULL) {
printf("Could not load file");
exit(0);
}
/* Loads numbers into num array */
int number;
while(fscanf(fp, "%d", &number) > 0) {
num[i] = number;
i++;
}
}
它会给我一百个; 4个字节* 100 = 400.
以下是sizeof(num)
中的内容:
hello.txt
答案 0 :(得分:3)
与其他语言中的数组(可以增长和缩小,并告诉您数组当前包含多少元素)不同,C数组只是一个具有固定大小的简单内存块。你声明了一个可以容纳100个元素的数组,并且所有sizeof
都会告诉你。
如果你想知道你在阵列中放了多少个数字,那么你必须在一个单独的变量中跟踪它。数组本身不包含该信息。