前導空格

前導空格

“前導空格”是程式語言中的一個概念,指的就是變數或者常量值的有效內容前面的空格。同時,在程式語言中還有“尾隨空格”,指的就是變數或者常量值的有效內容後面的空格。

基本介紹

  • 中文名:前導空格
  • 類別:程式語言中的一個概念
  • 本質變數有效內容前面的空格
  • 目的:知道如何刪除這些空格
作用,計算機語言,

作用

查找“前導空格”的最主要目的就是為了知道如何刪除這些空格。
前導空格是指變數常量值等有效內容前面的空格。不僅是C語言,其它語言中,關於前導空格的概念應該都是一樣的。
日常工作中,由於使用軟體不同,產生的數據檔案也不盡相同,有許多軟體生產的數據檔案採用固定格式,往往造成有效數據前填補空格,這些空格對其他軟體的套用造成障礙,必須刪除這些空格才可使用。查找“前導空格”的最主要目的就是為了知道如何刪除這些空格。

計算機語言

VFP中消除前導空格函式(ltrim())
字元表達式前面的空格全部刪除,並將結果返回。
語法:
返回值的類型:
字元型
參數:
字元表達式:指定的字元表達式,該函式將刪除其後續空格。
舉例:
在講str()函式時我們舉過一個例,即把一個字元與一個數值相加時,應採用如下形式:
? '季度'+str(1,1)
但是當我們沒有辦法確定這個數值的位數時,這個辦法就行不通了,您不可能規定它的長度只能是1或2等等。那么怎么辦呢,採用ltrim()函式可以解決了:
? '項目'+ltrim(str(sz))
這裡假設事先已有一個數值存入了sz變數,但不知道這個數值是幾,也就更不知道有幾位數,那么在隱含狀態下,str()函式將把sz轉換為長度為10的字元,其前面可能有若干空格,通過ltrim()函式的處理,不論前面有多少空格,都可以得到如下結果(假設數值是15):
項目15
刪除前導空格和後繼空格的C語言函式
#include<stdio.h>
/*刪除前導空格的函式*/
void headspace(char* s)
{
int i,j;
for(i=0;s[i]==32;i++); /*循環結束後的i值為前導空格的個數*/
if(i==0) return;
for(j=i;s[j]!='\0';j++) s[j-i]=s[j];
s[j-i]='\0';
}
/*刪除後繼空格的函式*/
void tailspace(char* s)
{
int i=0,k;
while(s[i]!='\0')i++;
for(k=i-1;s[k]==32;k--);
s[k+1]='\0';
}
/*main函式可以用來測試函式的正確性*/
main()
{
char s[20];
printf("\n");
gets(s); /*輸入一個字元串*/
puts(s); /*輸出字元串*/
printf("\n");
printf("%d\n",strlen(s)); /*輸出原字元串的長度(不包含結束標誌)*/
headspace(s);
puts(s);
printf("\n");
printf("%d\n",strlen(s)); /*輸出刪除前導空格後的字元串的長度*/
tailspace(s);
puts(s);
printf("\n");
printf("%d\n",strlen(s)); /*輸出刪除後繼空格後的字元串的長度*/
}

相關詞條

熱門詞條

聯絡我們