69,369
社区成员
发帖
与我相关
我的任务
分享
if (argc>1) {
for (i=1; i < argc; i++)
printf("%s ",argv[i]);
}
getchar();
if (argc>1) {
for (int i=0; i < argc; i++)
_tprintf(_T("argv[%d]==[%s]\n"),i,argv[i]);
}
vs2010新建的工程默认是UNICODE格式的;
你写代码的时候按照UNICODE的格式编码应该就不会出现上面的问题的。
或者你把工程设置成Use Multi-Byte Character Set,方法如下:
Project/工程 -> Properties在弹出对话框中选择Configuration Properties,
在右边的Project Defaults下有个Character Set:
你选择使用Use Multi-Byte Character Set即可
if (argc>1) {
for (int i=0; i < argc; i++)
_tprintf(_T("argv[%d]==[%s]\n",i,argv[i]);
}
// testprint.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int _tmain(int argc, _TCHAR* argv[])
{
char a[]="20120908";
FILE *fpin=fopen("in.txt","r");
FILE *fp1=fopen("hhhhh.txt", "w");
if(fp1==NULL)
{
printf("error1");
exit(1);
}
char bank_accno[]="518718******4151";
char mermststu[]="经营部";
char fis_process_date[]="20180204";
char dmt_trxn_date[]="20180204";
double str_amt_sum=34.345,str_pay_sum=945.56;
char dmt_trxn_time_hhmmss[]="143433";
char dmt_trxn_terminal_id[]="12324324";
char dmt_trxn_code[]="hello";
char tmp[20];
char card_no[]="518718******4151";
char str_amt[]="22342";
char str_pay[]="34323";
int i;
if (argc>1) {
for (i=0; i < argc; i++)
printf("%10.10s ",argv[i]);
fflush(stdout);
}
getchar();
char in[30];
fprintf(fp1,"%s\n\n","交易明细清单");
fprintf(fp1,"入账账号:%s\t\t账户名称:%8.8s\n",bank_accno,mermststu);
fprintf(fp1,"%s %.4s年%.2s月%.2s日\t\t","清算日期:",fis_process_date,fis_process_date+4,fis_process_date+6);
fprintf(fp1,"%s %.4s年%.2s月%.2s日\n","实际交易日期:",dmt_trxn_date,dmt_trxn_date+4,dmt_trxn_date+6);
fprintf(fp1,"-------------------------------------------------------------------------------------------------------------------\n");
fprintf(fp1,"实际交易时间\tPOS号\t\t摘要\t\t卡号\t\t交易金额\t 手续费金额\t应入账金额\t备注\n");
fprintf(fp1,"-------------------------------------------------------------------------------------------------------------------\n");
if(strcmp(dmt_trxn_code,"hello")==0)
strcpy(tmp,"你好");
fprintf(fp1,"%.2s:%.2s:%.2s\t%8.8s\t%16.16s\t%19.19s\t%s\t%9.2f\t%s\n",dmt_trxn_time_hhmmss,dmt_trxn_time_hhmmss+2,dmt_trxn_time_hhmmss+4,dmt_trxn_terminal_id,tmp,card_no,str_amt,str_amt-str_pay,str_pay);
fprintf(fp1,"----------------------------------------------------------------------------------------\n");
fprintf(fp1,"%4.4s %.2s %4.4s\t%8.8s\t%16.16s\t%19.19s\t%.2f\t%9.2f\t%.2f\n","","","汇总","-----","-----","-----",str_amt_sum,str_amt_sum-str_pay_sum,str_pay_sum);
fprintf(fp1,"----------------------------------------------------------------------------------------\n");
fclose(fp1);
return 0;
}
我觉得跟代码没关系
// i 从 0 开始
if (argc>1)
{
for (i= 0; i < argc; i++)
printf("%s ",argv[i]);
}
getchar();