A. c語言對文件操作時,文件名中的有空格怎麼辦
C語言處理文件還沒聽說過不支持文件名帶空格的問題
你可以把你文件操作的語句發出來看看,空格絕對不是你程序的問題所在
B. fscanf讀入空格的方法!要是不行可以給我建議個方案
fscanf(fp," %c",&w[i].ID);中把" %c"的%前的空格去掉,它就是要跳過空格的意思。沒有這個空格,就可以連空格一一讀進來了。
C. C語言中使用fopen()時,如果路徑中有空格會不會出錯
一個抄有空格的例子, 把路徑寫在一個變數中。
#include <stdio.h>
int main()
{
FILE * fp;
char * path = "C:\\Documents and Settings\\a.txt";
if ((fp = fopen(path, "r")) == NULL)
{
printf ("Can't open the file.");
exit(1);
}
else
{
while (!feof(fp))
{
printf ("%c", fgetc(fp));
}
}
fclose(fp);
return 0;
}
D. C語言讀取文件內容時怎樣讀取帶空格的字元串
用fgets就可以了來原型是char *fgets(char *s, int n, FILE *stream); 從流自中讀取n-1個字元,除非讀完一行,參數s是來接收字元串,如果成功則返回s的指針,否則返回NULL char t[100];fp=fopen("file","r");fgets(t,81,fp); //從fp文件中讀入80個字元,如果遇到回車或不足80個,就結束讀取.
E. C語言提問:怎麼刪除文件里的空格和回車
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#definemaxn1000010
chars[maxn];
intmain(){
FILE*p;
p=fopen("in.txt","r");//in.txt是待處理文件名,包含後綴
fscanf(p,"%[^#]",s);//#代表待處理文件中不存的字回符
fclose(p);
intj=0;
for(inti=0;i<strlen(s);i++){
if(s[i]==''||s[i]==' ')continue;//刪除空格和回車答
s[j++]=s[i];
}
s[j]=0;//0即NULL
p=fopen("in2.txt","w");//新建一個in2.txt文件
fprintf(p,"%s",s);//處理後的文件放在in2.txt中
fclose(p);
//printf("%s ",s);
}
F. fopen打開文件錯誤
【問題詳細內容】用fopen打開二進制文件,先用wb+,如果成功開始讀寫,如果失敗用rb+打開,內然後讀容寫,如果再失敗,退出程序,每次失敗都會返回GetLastError(),有時候成功,有時候兩次都顯示錯誤123。查詢後發現123是卷標或路徑的語法錯誤,首先針對的是同一文件,其次用的路徑是windows傳給我的參數,但是有時會出錯,有時不會。是怎麼 回事?
【解答】檢查出錯的時候,是不是文件名中有空格,或者有中文。如果是,那麼就別用fopen了,用CFile類來代替吧。然後給程序里增加一些調試信息,當出錯的時候,把文件名列印出來看看是否正確。發送方用的strlen()+1定義長度,這樣可以把字元串尾部的結束符一起發送過去
G. C語言文件命名是否有規則
DOS系統規定文件名的字元數是8,擴展名的字元數是3,文件名字元數超過8時,DOS系統會自動進行縮略,所以struct person.dat文件無法打開。
H. c語言中把文件中的空格去除
第一種:使用位域限制讀取的長度;
第二種:可以直接按照結構體來讀寫;
實例代碼如下:
#include"stdafx.h"
#include<cstdio>
#include<cstdlib>
#include<cstring>
structRoommate{
charname[6];
charNO[8];
charaddr[10];
};
int_tmain(intargc,_TCHAR*argv[])
{
structRoommateRom[2]={0};
FILE*file=NULL;
if(!(file=fopen("a.txt","w"))){
printf("CreateFilefailed! ");
exit(-1);
}
printf(":NameNOAddr ");
for(inti=0;i<2;++i){
scanf("%s%s%s",Rom[0].name,Rom[0].NO,Rom[0].addr);
fwrite((constvoid*)&Rom[0],sizeof(structRoommate),1,file);
}
fclose(file);
/*Readfromfile*/
file=NULL;
if(!(file=fopen("a.txt","r"))){
printf("CreateFilefailed! ");
exit(-1);
}
printf("Readfromthefile:NameNOAddr ");
fread((void*)Rom,sizeof(structRoommate),2,file);
for(inti=0;i<2;++i){
printf("i=%dName:%s NO:%s Addr:%s ",i,Rom[i].name,Rom[i].NO,Rom[i].addr);
}
fclose(file);
while(getchar());
return0;
}
I. c語言fprintf開頭會有很多空格的問題。
fseek(p,x,n)是找到從p文件第n個位元組要移動x個位元組 所以你文件開始會有空格
J. c語言fopen中文件名空格處理
試試fopen("\"c:\\hello zzz\\QQ.txt\"","w")