Ostatnio bawie sie NSStringiem i Cstringiem. Mam prosty program i gdzes jest w nim gubiona spacja a przy odczytywaniu rowniez dzieja sie nieprzewidywalne rzeczy.
Koncepcja jest taka aby podany string wrzucic wierszami znak po znaku do tablicy powiedzmy 10x10 a nastepnie odczytac ta tablice ale kolumnami.
Pewnie istnieje prosta mozliwosc, bez konwersji, operujac wylacznie na NSStringu. Widocznie jeszcze nie dojrzalem do tego.Kod:-(NSString *)codingMessage:(NSString *)string { // Konwersja NSString do C string const char *simpleText = [string cStringUsingEncoding:NSISOLatin1StringEncoding]; int col=0; int row=0; int i=0; int j=0; char *firstArray; char *secondArray; firstArray = malloc(s*s); secondArray = malloc(s*s); for(row=0; row < s; row++) { for(col=0; col < s; col++) { firstArray[col*s+row] = simpleText[i]; i++; } } // -------- for(row=0; row < s; row++) { for(col=0; col < s; col++) { NSLog(@"[%d][%d] = %c",col,row,firstArray[row*s+col]); } } j=0; for(col=0; col < s; col++) { for(row=0; row < s; row++) { secondArray[j] = firstArray[col*s+row]; NSLog(@"%c",secondArray[j]); j++; } } codedString = [NSString stringWithCString:secondArray encoding:NSASCIIStringEncoding]; return codedString; }




LinkBack URL
About LinkBacks
