c語言中怎樣在文件寫入時空格
① 我想我把C語言產生的數組給存到文件中去,並且每個數據以空格隔開怎麼弄
#include "stdio.h"
#include "string.h"
void log(int data[],int);
#include "stdio.h"
#include "string.h"
void mlog(int data[],int);
int main(){
int data[10]={1,2,3,4,5,6,7,8,9,10};
mlog(data,10);
return 0;
}
void mlog(int data[],int data_size){
FILE * fp;
int i=0;
char tmp[20];
if((fp=fopen("data.txt","a+"))!=NULL){
for(i=0;i<data_size;i++)
{
sprintf(tmp,"%d ",data[i]);
fputs(tmp,fp);
}
fclose(fp);
}else{
printf("can't open log file");
}
}
② C語言怎麼樣連續讀取文件,在每個文件中的字元之間加入空格
#include <stdio.h>
#include <ctype.h>
void main()
{
int n = 0;
int i = 0;
int word = 0;
char fName[20];
char ch;
FILE* fp;
FILE* temp = NULL;
printf("請輸入文件個數:\n");
scanf("%d", &n);
for (i=1; i<=n; i++)
{
sprintf(fName, "%d.txt", i);
if (!(fp = fopen(fName, "r+")))
{
printf("文件%d.txt不存在!\n", i);
continue;
}
if(!(temp = tmpfile()))
{
printf("臨時文件創建失敗!\n");
return;
}
while((ch=fgetc(fp)) != EOF)
{
fputc(ch, temp);
if(ch != '\n' && isascii(ch))
fputc(' ', temp);
if(!isascii(ch))//判斷是否為漢字,因為漢字占兩個字元,每個字元均不在ascii碼中,此處獲得第一個字元
word = 1;
if(word == 1)//處理第二個字元
{
ch=fgetc(fp);
fputc(ch, temp);
fputc(' ', temp);
word = 0;
}
}
rewind(temp);
rewind(fp);
while((ch=fgetc(temp)) != EOF)
{
fputc(ch, fp);
}
printf("文件%d.txt轉換成功!\n", i);
fclose(fp);
}
}
其中,稍微復雜一點的是漢字的處理。
③ C語言如何輸入一行有空格的字元串
C語言輸入一行有空格的字元串的方法:
1、對於char
char s[100];
cin.getline(s,1000);//第二個參數表示允許輸入的最大長度while(cin.getline(s,1000));
輸入輸出樣例
輸入:He llo
輸出:He llo
2、對於string
string s;
getline(cin,s);while(getline(cin,s));
輸入輸出樣例
輸入:He llo
輸出:He llo
(3)c語言中怎樣在文件寫入時空格擴展閱讀:
字元串主要用於編程,概念說明、函數解釋、用法詳述見正文,這里補充一點:字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「a」,s[10]="j",而字元串的零位正是它的長度。
這可以給我們提供很多方便,高精度運算時每一位都可以轉化為數字存入數組。
字元串或串(String)是由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。
兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
④ C語言編程插入空格問題
1.從原文件讀取數據,將插入空格後的文字寫入另一個文件
//---------------------------------------------------------------------------
#include
#define
FIN
"c:\\a.txt"
/*原文件地址,如果路徑中有斜線,則一律用雙斜線代替*/
#define
FOUT
"c:\\b.txt"
/*目標文件地址,要求同上*/
int
main(void)
{
FILE
*fp1,*fp2;
char
str[3];
int
n;
fp1=fopen(FIN,"r");
fp2=fopen(FOUT,"w");
printf("n=");
scanf("%d",&n);
while
((str[0]=fgetc(fp1))!=EOF)
{
if
(str[0]<0)
{
str[1]=fgetc(fp1);
fprintf(fp2,"%c%c%*c",str[0],str[1],n,0x20);
}
else
fprintf(fp2,"%c%*c",str[0],n,0x20);
}
fclose(fp1);
fclose(fp2);
return
0;
}
//---------------------------------------------------------------------------
2.如果需要對原文件進行修改操作,請另行提問。
⑤ c語言對文件操作時,文件名中的有空格怎麼辦
文件名中是否有空格,並不會影響C語言對文件操作,不需要做任何額外處理。
在C語言中,文件操作流程如下:
1 fopen打開文件;
2 通過文件讀寫函數,對文件進行操作;
3 fclose關閉文件。
其中,只有fopen時會用到文件名,其格式為
FILE *fopen(char *filename, char *mode);
其中,第一個參數filename為文件名,該參數為一個字元指針,即字元串。
在C語言中,字元串對空格沒有任何特殊要求,所以直接將帶空格的文件名賦值給參數即可。
如文件名為test space.txt,以讀的方式打開,可以寫作
fopen("test space.txt", "r");
⑥ C語言中,空格怎麼輸入不是C++
敲鍵盤上的空格鍵輸入空格。
C語言中輸入空格是可以實現的,但須知道輸出窗口一行最多多少個字元。這樣才能保證輸出在一行的中間。
#include "stdio.h"
int main()
{
printf(" 在一行中間輸出一句話! \n");
}
頭文件:#include
<stdio.h>
⑦ 如何在C語言中輸入空格符
諸如這樣的輸入函數很多~
比如:
getch();
getche();
以上兩個函數連回車符,F1、F2..........等~~~~
⑧ c語言中怎樣在文件寫入時換行
假設已經打開的文件句柄為fp
如果是文本文件,用如下語句寫入換行
fprintf(fp,"\n");
如果是二進制文件,用如下語句寫入換行
char ch[]="\n\r";
fwrite(ch,2,1,fp);
⑨ C語言用如何用scanf輸入帶有空格的字元串
要輸入帶空格的字元串,要用到一個格式字元:%[] --> 一個字元集。
「%[]」的作用是掃描字元集合:
例如:scanf(「%[^
]」,str);
具體作用是:如果輸入的字元屬於方括弧內字元串中某個字元,那麼就提取該字元;如果一經發現不屬於就結束提取。該方法會自動加上一個'