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);
具体作用是:如果输入的字符属于方括号内字符串中某个字符,那么就提取该字符;如果一经发现不属于就结束提取。该方法会自动加上一个'