我想寫一個字符串到文本文件。該文本文件將被另一個程序讀取。第二個程序期望文本文件中的不同「字段」爲固定寬度。因此,當我使用我的應用程序編寫文本文件時,我需要在我的實際數據之間添加空格以使所有內容正確排列。我如何獲得這些空間?如何使用NSMutableString將字符串填充到固定寬度?
到目前爲止,我已經嘗試寫一個函數,接受源字符串和目標長度作爲輸入。如果目標比源更長,它只會追加「」。此例程代碼如下:
- (NSString *) makeStringFrom:(NSString *)source withLength:(NSInteger)length
{
// Method to add spaces to the end of a string to get it to a certain length
if ([source length] > length)
{
// String is too long - throw warning and send it back
NSLog(@"Warning - string is already longer than length supplied. Returning source string");
return source;
}
else if ([source length] == length)
{
// String is already correct length, so just send it back
return source;
}
else
{
// String is too short, need to add spaces
NSMutableString *newString = [[NSMutableString alloc] initWithString:source];
NSLog(@"newString initial length = %d",[newString length]);
for (int current = [source length]; current < length; current ++)
{
[newString stringByAppendingString:@" "];
NSLog(@"hit");
}
NSLog(@"target length = %d. newString length = %d",length,[newString length]);
return newString;
}
}
這顯然不起作用。即使在NSLog(@「hit」);}時,返回的字符串的長度也不會改變所提供的字符串的長度。運行多次。
'for(int i = 0; i
2013-04-11 14:14:01
@AnoopVaidya:這就是我所嘗試的(請參閱下面的答案)。我做錯什麼了嗎? – GeneralMike 2013-04-11 14:16:16
不,你沒有做同樣的:) – 2013-04-11 14:21:39